一些使用频率比较高的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者的疑难问答(2)
Oct 09 PHP
整合了前面的PHP数据库连接类~~做成一个分页类!
Nov 25 PHP
PHP 配置文件中open_basedir选项作用
Jul 19 PHP
Wordpress php 分页代码
Oct 21 PHP
PHP容易忘记的知识点分享
Apr 30 PHP
php读取远程gzip压缩网页的方法
Dec 29 PHP
php实现递归与无限分类的方法
Feb 16 PHP
php验证码生成代码
Nov 11 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
PHP实现多关键字加亮功能
Oct 21 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
Sep 17 PHP
PHP基本语法
Mar 31 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中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
采用memcache在web集群中实现session的同步会话
2014/07/05 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
用jscript实现列出安装的软件列表
2007/06/18 Javascript
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
2013/10/16 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
JavaScript获取网页表单action属性的方法
2015/04/02 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
浅析Javascript中bind()方法的使用与实现
2016/05/30 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
jQuery封装animate.css的实例
2018/01/04 jQuery
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
Django实现学员管理系统
2019/02/26 Python
python3.5的包存放的具体路径
2020/08/16 Python
Html5适配iphoneX刘海屏的简单实现
2019/04/09 HTML / CSS
有关环保的标语
2014/06/13 职场文书
财务会计专业自荐书
2014/06/30 职场文书
施工单位安全责任书
2014/07/24 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
加班费申请报告
2015/05/15 职场文书
小平小道观后感
2015/06/09 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android
Java异常体系非正常停止和分类
2022/06/14 Java/Android