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 22 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
PHP求小于1000的所有水仙花数的代码
Jan 10 PHP
PHP读取文件并可支持远程文件的代码分享
Oct 03 PHP
php实现文件下载更能介绍
Nov 23 PHP
PHP版 汉字转码的实现详解
Jun 09 PHP
PHP递归删除目录几个代码实例
Apr 21 PHP
PHP安全的URL字符串base64编码和解码
Jun 19 PHP
php获取随机数组列表的方法
Nov 13 PHP
PHP准确取得服务器IP地址的方法
Jun 02 PHP
PHP实现一个多功能购物网站的案例
Sep 13 PHP
php中上传文件的的解决方案
Sep 25 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时的知识积累总结
2013/06/07 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
pjblog修改技巧汇总
2007/03/12 Javascript
javascript之更有效率的字符串替换
2008/08/02 Javascript
ASP SQL防注入的方法
2008/12/25 Javascript
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
扩展JavaScript功能的正确方法(译文)
2012/04/12 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
基于jQuery.i18n实现web前端的国际化
2018/05/04 jQuery
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
Windows中安装使用Virtualenv来创建独立Python环境
2016/05/31 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
python保存数据到本地文件的方法
2018/06/23 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
数控技术专科生自我评价
2014/01/08 职场文书
大学生职业规划论文
2014/01/11 职场文书
花店创业计划书范文
2014/02/07 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
高等教育学专业自荐书
2014/06/17 职场文书
导游词格式
2015/02/13 职场文书
职位证明模板
2015/06/23 职场文书
环境卫生标语
2015/08/03 职场文书
redis cluster支持pipeline的实现思路
2021/06/23 Redis
MySQL磁盘碎片整理实例演示
2022/04/03 MySQL
centos7安装mysql5.7经验记录
2022/05/02 Servers