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 将图片按创建时间进行分类存储的实现代码
Jan 05 PHP
php empty()与isset()区别的详细介绍
Jun 17 PHP
解析PHP中一些可能会被忽略的问题
Jun 21 PHP
ThinkPHP之R方法实例详解
Jun 20 PHP
php简单实现文件或图片强制下载的方法
Dec 06 PHP
Laravel模型间关系设置分表的方法示例
Apr 21 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
PHP按一定比例压缩图片的方法
Oct 12 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
Oct 21 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
Oct 21 PHP
laravel 实现根据字段不同值做不同查询
Oct 23 PHP
PHP rsa加密解密算法原理解析
Dec 09 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中取得image按钮传递的name值
2006/10/09 PHP
PHP对象Object的概念 介绍
2012/06/14 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
ThinkPHP跳转页success及error模板实例教程
2014/07/17 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
php微信开发之上传临时素材
2016/06/24 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
javascript 复杂的嵌套环境中输出单引号和双引号
2009/05/26 Javascript
js实现省市联动效果的简单实例
2014/02/10 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
bootstrap基本配置_动力节点Java学院整理
2017/07/14 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
python中调试或排错的五种方法示例
2019/09/12 Python
python同时遍历两个list用法说明
2020/05/02 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
2020/05/26 Python
Python爬虫HTPP请求方法有哪些
2020/06/03 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
护士岗位求职应聘自荐书范文
2014/02/12 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
标准版离职证明书
2014/09/12 职场文书
2014年中学生检讨书大全
2014/10/09 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
如何理解Vue前后端数据交互与显示
2021/05/10 Vue.js
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
MySQL 不等于的三种使用及区别
2021/06/03 MySQL