一些使用频率比较高的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+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
五款常用mysql slow log分析工具的比较分析
May 22 PHP
PHP中读写文件实现代码
Oct 20 PHP
360通用php防护代码(使用操作详解)
Jun 18 PHP
PHP引用(&amp;)各种使用方法实例详解
Mar 20 PHP
CI(CodeIgniter)框架配置
Jun 10 PHP
PHP 7.0.2 正式版发布
Jan 08 PHP
php使用PDO获取结果集的方法
Feb 16 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 PHP
PHP实现简易图形计算器
Aug 28 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
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
PHP7匿名类用法分析
2016/09/26 PHP
PHP定时任务获取微信access_token的方法
2016/10/10 PHP
判断用户的在线状态 onbeforeunload事件
2011/03/05 Javascript
js给页面加style无效果的解决方法
2014/01/20 Javascript
jQuery中extend函数详解
2015/02/13 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
vue进入页面时滚动条始终在底部代码实例
2019/03/26 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
Python实现的端口扫描功能示例
2018/04/08 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
python与字符编码问题
2019/05/24 Python
Django ORM多对多查询方法(自定义第三张表&amp;ManyToManyField)
2019/08/09 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
巴西女装购物网站:Eclectic
2018/04/24 全球购物
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
后备干部考察材料
2014/02/12 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
门卫岗位职责说明书
2014/08/18 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
交通安全教育主题班会
2015/08/12 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
python中requests库+xpath+lxml简单使用
2021/04/29 Python