一些使用频率比较高的php函数


Posted in PHP onOctober 03, 2008

1.产生随机字符串函数
function random($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;
}
2.截取一定长度的字符串
注:该函数对gb2312使用有效
function wordscut($string, $length ,$sss=0) {
if(strlen($string) > $length) {
if($sss){
$length=$length - 3;
$addstr=@# ...@#;
}
for($i = 0; $i < $length; $i++) {
if(ord($string[$i]) > 127) {
$wordscut .= $string[$i].$string[$i + 1];
$i++;
} else {
$wordscut .= $string[$i];
}
}
return $wordscut.$addstr;
}
return $string;
}
3.取得客户端ip地址
function getip(){
if (getenv("http_client_ip") && strcasecmp(getenv("http_client_ip"), "unknown"))
$ip = getenv("http_client_ip");
else if (getenv("http_x_forwarded_for") && strcasecmp(getenv("http_x_forwarded_for"), "unknown"))
$ip = getenv("http_x_forwarded_for");
else if (getenv("remote_addr") && strcasecmp(getenv("remote_addr"), "unknown"))
$ip = getenv("remote_addr");
else if (isset($_server[@#remote_addr@#]) && $_server[@#remote_addr@#] && strcasecmp($_server[@#remote_addr@#], "unknown"))
$ip = $_server[@#remote_addr@#];
else
$ip = "unknown";
return($ip);
}
4.创建相应的文件夹
function createdir($dir=@#@#)
{
if (!is_dir($dir))
{
$temp = explode(@#/@#,$dir);
$cur_dir = @#@#;
for($i=0;$i<count($temp);$i++)
{
$cur_dir .= $temp[$i].@#/@#;
if (!is_dir($cur_dir))
{
@mkdir($cur_dir,0777);
}
}
}
}
5.判断邮箱地址
function checkemail($inaddress)
{
return (ereg("^([a-za-z0-9_-])+@([a-za-z0-9_-])+(\.[a-za-z0-9_-])+",$inaddress));
}
6.跳转
function gotourl($message=@#@#,$url=@#@#,$title=@#@#)
{
$html ="<html><head>";
if(!empty($url))
$html .="<meta http-equiv=@#refresh@# content=\"3;url=@#".$url."@#\">";
$html .="<link href=@#../templates/style.css@# type=text/css rel=stylesheet>";
$html .="</head><body><br><br><br><br>";
$html .="<table cellspacing=@#0@# cellpadding=@#0@# border=@#1@# width=@#450@# align=@#center@#>";
$html .="<tr><td bgcolor=@##ffffff@#>";
$html .="<table border=@#1@# cellspacing=@#1@# cellpadding=@#4@# width=@#100%@#>";
$html .="<tr class=@#m_title@#>";
$html .="<td>".$title."</td></tr>";
$html .="<tr class=@#line_1@#><td align=@#center@# height=@#60@#>";
$html .="<br>".$message."<br><br>";
if (!empty($url))
$html .="系统将在3秒后返回<br>如果您的浏览器不能自动返回,请点击[<a href=".$url." target=_self>这里</a>]进入";
else
$html .="[<a href=@##@# =@#history.go(-1)@#>返回</a>]";
$html .="</td></tr></table></td></tr></table>";
$html .="</body></html>";
echo $html;
exit;
}
7.分页(两个函数配合使用)
function getpage($sql,$page_size=20)
{
global $page,$totalpage,$sums; //out param
$page = $_get["page"];
//$eachpage = $page_size;
$pagesql = strstr($sql," from ");
$pagesql = "select count(*) as ids ".$pagesql;
$result = mysql_query($pagesql);
if($rs = mysql_fetch_array($result)) $sums = $rs[0];
$totalpage = ceil($sums/$page_size);
if((!$page)||($page<1)) $page=1;
$startpos = ($page-1)*$page_size;
$sql .=" limit $startpos,$page_size ";
return $sql;
}
function showbar($string="")
{
global $page,$totalpage;
$out="共<font ".$totalpage."color=@#red@#><b>".$totalpage."</b></font>页 ";
$linknum =4;
$start = ($page-round($linknum/2))>0 ? ($page-round($linknum/2)) : "1";
$end = ($page+round($linknum/2))<$totalpage ? ($page+round($linknum/2)) : $totalpage;
$prestart=$start-1;
$nextend=$end+1;
if($page<>1)
$out .= "<a href=@#?page=1&&".$string."@#title=第一页>第一页</a> ";
if($start>1)
$out.="<a href=@#?page=".$prestart."@# title=上一页>..<<</a> ";
for($t=$start;$t<=$end;$t++)
{
$out .= ($page==$t) ? "<font [".$t."]color=@#red@#><b>[".$t."]</b></font> " : "<a $thref=@#?page=$t&&".$string."@#>$t</a> ";
}
if($end<$totalpage)
$out.="<a href=@#?page=".$nextend."&&".$string."@# title=下一页>>>..</a>";
if($page<>$totalpage)
$out .= " <a href=@#?page=".$totalpage."&&".$string."@# title=最后页>最后页</a>";
return $out;
}
8.获取新插入数据的id
<?
mysql_insert_id();
?>

PHP 相关文章推荐
php横向重复区域显示二法
Sep 25 PHP
基于OpenCV的PHP图像人脸识别技术
Oct 11 PHP
php radio 单选框获取与保持值的实现代码
May 15 PHP
php错误、异常处理机制(补充)
May 07 PHP
PHP可变函数的使用详解
Jun 14 PHP
PHP中copy on write写时复制机制介绍
May 13 PHP
smarty高级特性之对象的使用方法
Dec 25 PHP
PHP文件操作详解
Dec 30 PHP
PHP等比例压缩图片的实例代码
Jul 26 PHP
PHP封装的分页类与简单用法示例
Feb 25 PHP
php如何把表单内容提交到数据库
Jul 08 PHP
docker-compose部署php项目实例详解
Jul 30 PHP
PHP base64+gzinflate压缩编码和解码代码
Oct 03 #PHP
php下实现在指定目录搜索指定类型文件的函数
Oct 03 #PHP
PHP Header用于页面跳转要注意的几个问题总结
Oct 03 #PHP
smarty section简介与用法分析
Oct 03 #PHP
php相当简单的分页类
Oct 02 #PHP
php仿discuz分页效果代码
Oct 02 #PHP
php仿ZOL分页类代码
Oct 02 #PHP
You might like
ThinkPHP之N方法实例详解
2014/06/20 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
php中file_exists函数使用详解
2015/05/08 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
Thinkphp3.2实用篇之计算型验证码示例
2017/02/09 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
Vuex和前端缓存的整合策略详解
2017/05/09 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现逆波兰计算表达式实例详解
2015/05/06 Python
Python3学习urllib的使用方法示例
2017/11/29 Python
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
python图形工具turtle绘制国际象棋棋盘
2019/05/23 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
Python scrapy增量爬取实例及实现过程解析
2019/12/24 Python
keras的siamese(孪生网络)实现案例
2020/06/12 Python
OpenCV图片漫画效果的实现示例
2020/08/18 Python
Python之Sklearn使用入门教程
2021/02/19 Python
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
Fenty Beauty官网:蕾哈娜创立的美妆品牌
2021/01/07 全球购物
华为慧通面试题
2012/09/11 面试题
党章学习思想汇报
2014/01/14 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
班级道德讲堂实施方案
2014/02/24 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
四风自我剖析材料
2014/09/30 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
浅析NIO系列之TCP
2021/06/15 Java/Android