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防注
Jan 15 PHP
php的access操作类
Apr 09 PHP
PHP 登录记住密码实现思路
May 07 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
配置php网页显示各种语法错误
Sep 23 PHP
laravel 5 实现模板主题功能
Mar 02 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
Thinkphp5.0自动生成模块及目录的方法详解
Apr 17 PHP
什么是PHP文件?如何打开PHP文件?
Jun 27 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 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
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
php一个解析字符串排列数组的方法
2015/05/12 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
jquery 弹出登录窗口实现代码
2009/12/24 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
浅谈Javascript中的Label语句
2016/12/14 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
详解Angular Karma测试的持续集成实践
2019/11/15 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
Python实现脚本锁功能(同时只能执行一个脚本)
2017/05/10 Python
TensorFlow实现随机训练和批量训练的方法
2018/04/28 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
用python打印1~20的整数实例讲解
2019/07/01 Python
python定位xpath 节点位置的方法
2019/08/27 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
2014年材料员工作总结
2014/11/19 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
在职证明书模板
2015/06/15 职场文书
酒桌上的祝酒词
2015/08/12 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
数据设计之权限的实现
2022/08/05 MySQL
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL