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的知识
Nov 17 PHP
php目录管理函数小结
Sep 10 PHP
使用PHP获取网络文件的实现代码
Jan 01 PHP
PHP关联数组的10个操作技巧
Jan 21 PHP
php 获取页面中指定内容的实现类
Jan 23 PHP
php实现Mysql简易操作类
Oct 11 PHP
php+mysql实现无限级分类
Nov 11 PHP
PHP实现的蚂蚁爬杆路径算法代码
Dec 03 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
PHP单链表的实现代码
Jul 05 PHP
PHP微信开发用Cache 解决数据缓存
Jul 11 PHP
PHP中str_split()函数的用法讲解
Apr 11 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中json_encode、json_decode与serialize、unserialize的性能测试分析
2010/06/09 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
jquery+thinkphp实现跨域抓取数据的方法
2016/10/15 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
2018/12/24 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
jQuery validate 中文API 附validate.js中文api手册
2010/07/31 Javascript
js和php如何获取当前url的内容
2013/09/22 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
js中传递特殊字符(+,&amp;)的方法
2014/01/16 Javascript
js实现导航栏中英文切换效果
2017/01/16 Javascript
bootstrap Table服务端处理分页(后台是.net)
2017/10/19 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
js实现微信聊天界面
2020/08/09 Javascript
Jquery 获取相同NAME 或者id删除行操作
2020/08/24 jQuery
python使用cStringIO实现临时内存文件访问的方法
2015/03/26 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
2017/07/24 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
Django框架模型简单介绍与使用分析
2019/07/18 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
2020/01/25 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
美国销售第一的智能手机和平板电脑保护壳:OtterBox
2017/12/21 全球购物
品学兼优的大学生自我评价
2013/09/20 职场文书
计算机应用职专应届生求职信
2013/11/12 职场文书
协议书模板
2014/04/23 职场文书
2015大学迎新晚会策划书
2015/07/16 职场文书
初一语文教学反思
2016/03/03 职场文书
centos8安装nginx1.9.1的详细过程
2021/08/02 Servers