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学习之PHP变量
Oct 09 PHP
php中的登陆login
Jan 18 PHP
php中对xml读取的相关函数的介绍一
Jun 05 PHP
使用配置类定义Codeigniter全局变量
Jun 12 PHP
PHP使用range协议实现输出文件断点续传代码实例
Jul 04 PHP
php防止sql注入之过滤分页参数实例
Nov 03 PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 PHP
深入分析PHP优化及注意事项
Jul 04 PHP
浅析Laravel5中队列的配置及使用
Aug 04 PHP
Yii框架中sphinx索引配置方法解析
Oct 18 PHP
php封装的smarty类完整实例
Oct 19 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 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调用Oracle存储过程
2006/10/09 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
dedecms集成财付通支付接口
2014/12/28 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
2018/05/29 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
JS中 用户登录系统的解决办法
2013/04/15 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
vue实现公告栏文字上下滚动效果的示例代码
2020/06/16 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
Python爬虫PyQuery库基本用法入门教程
2018/08/04 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
Pytorch训练过程出现nan的解决方式
2020/01/02 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
Python 使用office365邮箱的示例
2020/10/29 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
物业管理委托协议(2篇)
2014/09/23 职场文书
李白故里导游词
2015/02/12 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
2016年机关单位节能宣传周活动总结
2016/04/05 职场文书