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定时自动生成静态HTML的实现代码
Jun 20 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
Jul 16 PHP
PHP 实现explort() 功能的详解
Jun 20 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
Sep 23 PHP
php上传文件,创建递归目录的实例代码
Oct 18 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
Mar 15 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
Jun 29 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
Aug 04 PHP
php表单处理操作
Nov 16 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 PHP
php面试实现反射注入的详细方法
Sep 30 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/09/17 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
document.body.scrollTop 值总为0的解决方法 比较常见的标准问题
2009/11/30 Javascript
javascript 闭包疑问
2010/12/30 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
基于jquery的on和click的区别详解
2018/01/15 jQuery
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
js DOM的事件常见操作实例详解
2019/12/16 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
python3调用R的示例代码
2018/02/23 Python
python中itertools模块zip_longest函数详解
2018/06/12 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
python执行精确的小数计算方法
2019/01/21 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
wxpython绘制圆角窗体
2019/11/18 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
python操作toml文件的示例代码
2020/11/27 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
台湾专柜女包:KINAZ
2019/12/26 全球购物
《第一朵杏花》教学反思
2014/04/16 职场文书
初中教师个人工作总结
2015/02/10 职场文书
大学生个人学习总结
2015/02/15 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang
使用 Docker Compose 构建复杂的多容器App
2022/04/30 Servers