PHP项目开发中最常用的自定义函数整理


Posted in PHP onDecember 02, 2010

<?php
//alert提示
function alert($msg){
echo "<script>alert('$msg');</script>";
}
//把一些预定义的字符转换为 HTML 实体
function d_htmlspecialchars($string) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = d_htmlspecialchars($val);
}
} else {
$string = str_replace('&', '&', $string);
$string = str_replace('"', '"', $string);
$string = str_replace(''', ''', $string);
$string = str_replace('<', '<', $string);
$string = str_replace('>', '>', $string);
$string = preg_replace('/&(#\d;)/', '&\1', $string);
}
return $string;
}
//在预定义字符前加上反斜杠,包括 单引号、双引号、反斜杠、NULL,以保护数据库安全
function d_addslashes($string, $force = 0) {
if(!$GLOBALS['magic_quotes_gpc'] || $force) {
if(is_array($string)) {
foreach($string as $key => $val) $string[$key] = d_addslashes($val, $force);
}
else $string = addslashes($string);
}
return $string;
}
//生成随机字符串,包含大写、小写字母、数字
function randstr($length) {
$hash = '';
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$max = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000);
for($i = 0; $i < $length; $i++) {
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}
//转换时间戳为常用的日期格式
function trans_time($timestamp){
if($timestamp < 1) echo '无效的Unix时间戳';
else return date("Y-m-d H:i:s",$timestamp);
}
//获取IP
function get_ip() {
if ($_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if ($_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if ($_SERVER["REMOTE_ADDR"])
$ip = $_SERVER["REMOTE_ADDR"];
else if (getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "Unknown";
return $ip;
}
//计算时间差:默认返回类型为“分钟”
//$old_time 只能是时间戳,$return_type 为 h 是小时,为 s 是秒
function timelag($old_time,$return_type='m'){
if($old_time < 1){
echo '无效的Unix时间戳';
}else{
switch($return_type){
case 'h':
$type = 3600; break;
case 'm':
$type = 60; break;
case 's':
$type = 1; break;
case '':
$type = 60; break;
}
$dif = round( (time()-$old_time)/$type ) ;
return $dif;
}
}
//获取当前页面的URL地址
function url_this(){
$url = "http://".$_SERVER ["HTTP_HOST"].$_SERVER["REQUEST_URI"];
$return_url = "<a href='$url'>$url</a>";
return $return_url;
}
//跳转函数
function url_redirect($url,$delay=''){
if($delay == ''){
echo "<script>window.location.href='$url'</script>";
}else{
echo "<meta http-equiv='refresh' content='$delay;URL=$url' />";
}
}
} //end func

?>

PHP 相关文章推荐
坏狼的PHP学习教程之第2天
Jun 15 PHP
PHP 上传文件大小限制
Jul 05 PHP
php str_pad() 将字符串填充成指定长度的字符串
Feb 23 PHP
学习php笔记 字符串处理
Oct 19 PHP
PHP的5个安全措施小结
Jul 17 PHP
php用正则表达式匹配URL的简单方法
Nov 12 PHP
ThinkPHP之getField详解
Jun 20 PHP
php实现比较两个文件夹异同的方法
Jun 18 PHP
zend framework重定向方法小结
May 28 PHP
php技巧小结【推荐】
Jan 19 PHP
Laravel多用户认证系统示例详解
Mar 13 PHP
php中yii框架实例用法
Dec 22 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 #PHP
Mysql数据库操作类( 1127版,提供源码下载 )
Dec 02 #PHP
PHP分页函数代码(简单实用型)
Dec 02 #PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
Dec 02 #PHP
php小偷相关截取函数备忘
Nov 28 #PHP
php与paypal整合方法
Nov 28 #PHP
网站用php实现paypal整合方法
Nov 28 #PHP
You might like
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
jQuery 版本的文本输入框检查器Input Check
2009/07/09 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
浅谈JavaScript数据类型及转换
2015/02/28 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
原生js实现网易轮播图效果
2020/04/10 Javascript
javascript验证香港身份证的格式或真实性
2017/02/07 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
浅谈webpack对样式的处理
2018/01/05 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
jQuery实现简易聊天框
2020/02/08 jQuery
JS数组的高级使用方法示例小结
2020/03/14 Javascript
解决await在forEach中不起作用的问题
2021/02/25 Javascript
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
Python基于Tkinter实现的记事本实例
2015/06/17 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
python里dict变成list实例方法
2019/06/26 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
中式婚礼主持词
2014/03/13 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
实习计划书范文
2015/01/16 职场文书
2015上半年个人工作总结
2015/07/27 职场文书
2016年度员工工作表现评语
2015/12/02 职场文书
《LOL》“克隆大作战”久违归来 幻灵战队皮肤上线
2022/04/03 其他游戏
Python 视频画质增强
2022/04/28 Python
2022微信温控新功能上线
2022/05/09 数码科技