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 mvc开发模式的感想
Jun 28 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
Jun 02 PHP
解析htaccess伪静态的规则
Jun 18 PHP
php导出word文档与excel电子表格的简单示例代码
Mar 08 PHP
php中3种方法删除字符串中间的空格
Mar 10 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
Jun 09 PHP
php创建session的方法实例详解
Jan 27 PHP
php魔术函数__call()用法实例分析
Feb 13 PHP
PHP会员找回密码功能的简单实现
Sep 05 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
Aug 09 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
php利用腾讯ip分享计划获取地理位置示例分享
2014/01/20 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
PHP消息队列用法实例分析
2016/02/12 PHP
laravel学习笔记之模型事件的几种用法示例
2017/08/15 PHP
javascript下有关dom以及xml节点访问兼容问题
2007/11/26 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
利用node.js如何搭建一个简易的即时响应服务器
2017/05/28 Javascript
微信小程序实现皮肤功能(夜间模式)
2017/06/18 Javascript
vue修改vue项目运行端口号的方法
2017/08/04 Javascript
Three.js加载外部模型的教程详解
2017/11/10 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
2020/01/16 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
[03:14]DOTA2斧王 英雄基础教程
2013/11/26 DOTA
python使用Tkinter显示网络图片的方法
2015/04/24 Python
Python基于动态规划算法计算单词距离
2015/07/25 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
Python3+Appium安装使用教程
2019/07/05 Python
python如何将两个txt文件内容合并
2019/10/18 Python
Django3.0 异步通信初体验(小结)
2019/12/04 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
新加坡最佳婴儿用品店:Mamahood.com.sg
2018/08/26 全球购物
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
linux面试题参考答案(7)
2014/07/24 面试题
产品销售计划书
2014/05/04 职场文书
杭州黄龙洞导游词
2015/02/10 职场文书
中秋节随笔
2015/08/15 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang