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 相关文章推荐
Search Engine Friendly的URL设计
Oct 09 PHP
php调用mysql存储过程
Feb 14 PHP
php获得当前的脚本网址
Dec 10 PHP
php对大文件进行读取操作的实现代码
Jan 23 PHP
基于MySQL分区性能的详细介绍
May 02 PHP
PHP实现对文本数据库的常用操作方法实例演示
Jul 04 PHP
php实现parent调用父类的构造方法与被覆写的方法
Feb 11 PHP
PHP实现从远程下载文件的方法
Mar 12 PHP
PHP保存session到memcache服务器的方法
Jan 19 PHP
thinkPHP中volist标签用法示例
Dec 06 PHP
PHP用continue跳过本次循环中剩余代码的注意点
Jun 27 PHP
PHP Pipeline 实现中间件的示例代码
Apr 26 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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
基于jquery完美拖拽,可返回拖动轨迹
2012/03/29 Javascript
jquery div 居中技巧应用介绍
2012/11/24 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
JavaScript中数组去重的5种方法
2020/07/04 Javascript
Vant picker 多级联动操作
2020/11/02 Javascript
关于小程序优化的一些建议(小结)
2020/12/10 Javascript
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
python实现监控windows服务并自动启动服务示例
2014/04/17 Python
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
Python基于twisted实现简单的web服务器
2014/09/29 Python
Python按行读取文件的实现方法【小文件和大文件读取】
2016/09/19 Python
python 循环读取txt文档 并转换成csv的方法
2018/10/26 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
化验室技术员岗位职责
2013/12/24 职场文书
经典演讲稿汇总
2014/05/19 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
学习党代会心得体会
2014/09/05 职场文书
党的群众路线教育实践活动整改落实情况自查报告
2014/10/28 职场文书
2015年世界无烟日演讲稿
2015/03/18 职场文书
法人代表证明书范本
2015/06/18 职场文书
读书笔记怎么写
2015/07/01 职场文书
导游词之包公祠
2019/11/25 职场文书
MySQL 开窗函数
2022/02/15 MySQL