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脚本数据库功能详解(下)
Oct 09 PHP
PHP 中的批处理的实现
Jun 14 PHP
PHP中通过加号合并数组的一个简单方法分享
Jan 27 PHP
用PHP读取超大文件的实例代码
Apr 01 PHP
php中导出数据到excel时数字变为科学计数的解决方法
Feb 03 PHP
自编函数解决pathinfo()函数处理中文问题
Nov 03 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP调用全国天气预报数据接口查询天气示例
Feb 20 PHP
php判断/计算闰年的方法小结【三种方法】
Jul 06 PHP
PHP迭代器和生成器用法实例分析
Sep 28 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
php中mt_rand()随机数函数用法
2014/11/24 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
axios如何取消重复无用的请求详解
2019/12/15 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
python中迭代器(iterator)用法实例分析
2015/04/29 Python
Python网络编程之TCP套接字简单用法示例
2018/04/09 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
Django框架自定义session处理操作示例
2019/05/27 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
Python操作Sonqube API获取检测结果并打印过程解析
2019/11/27 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
精选奢华:THE LIST
2019/09/05 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
编辑求职信样本
2013/12/16 职场文书
测绘专业大学生职业生涯规划书
2014/02/10 职场文书
党员个人公开承诺书
2014/08/29 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
幼儿园大班毕业评语
2014/12/31 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS