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 相关文章推荐
PHP6 mysql连接方式说明
Feb 09 PHP
php学习笔记之 函数声明(二)
Jun 09 PHP
解析php中获取url与物理路径的总结
Jun 21 PHP
php jquery 多文件上传简单实例
Dec 23 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
Dec 25 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
PHP使用redis实现统计缓存mysql压力的方法
Nov 14 PHP
php+jQuery+Ajax简单实现页面异步刷新
Aug 08 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
PHP命名空间与自动加载机制的基础介绍
Aug 25 PHP
php连接mysql数据库最简单的实现方法
Sep 24 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 日志缩略名的创建函数代码
2010/05/26 PHP
php array_intersect比array_diff快(附详细的使用说明)
2011/07/03 PHP
php输出xml格式字符串(用的这个)
2012/07/12 PHP
WIN8.1下搭建PHP5.6环境
2015/04/29 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
2016/06/13 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
PHP实现的抓取小说网站内容功能示例
2019/06/27 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
读jQuery之十四 (触发事件核心方法)
2011/08/23 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
2016/11/07 Javascript
利用JS轻松实现获取表单数据
2016/12/06 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
vue+Element-ui实现分页效果
2020/11/15 Javascript
Python动态加载模块的3种方法
2014/11/22 Python
详解Python中heapq模块的用法
2016/06/28 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
解决Django一个表单对应多个按钮的问题
2019/07/18 Python
pytorch SENet实现案例
2020/06/24 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
Java程序员面试90题
2013/10/19 面试题
商务英语专业自荐信
2013/10/14 职场文书
办公室文员工作职责
2014/01/31 职场文书
陈欧广告词
2014/03/14 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书