一些使用频率比较高的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 相关文章推荐
URL Rewrite的设置方法
Jan 02 PHP
php Mysql日期和时间函数集合
Nov 16 PHP
完美实现GIF动画缩略图的php代码
Jan 02 PHP
利用php递归实现无限分类 格式化数组的详解
Jun 08 PHP
PHP 通过Socket收发十六进制数据的实现代码
Aug 16 PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
Jan 14 PHP
PHP+MySQL删除操作实例
Jan 21 PHP
php将12小时制转换成24小时制的方法
Mar 31 PHP
使用JavaScript创建新样式表和新样式规则
Jun 14 PHP
php实现的redis缓存类定义与使用方法示例
Aug 09 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 PHP
php+layui数据表格实现数据分页渲染代码
Oct 26 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
重置版战役片段
2020/04/09 魔兽争霸
ThinkPHP之A方法实例讲解
2014/06/20 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
php错误日志简单配置方法
2016/07/11 PHP
详解将数据从Laravel传送到vue的四种方式
2019/10/16 PHP
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
js日期联动示例
2014/05/02 Javascript
js倒计时抢购实例
2015/12/20 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
2016/01/22 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
video.js使用改变ui过程
2017/03/05 Javascript
CSS3+JavaScript实现翻页幻灯片效果
2017/06/28 Javascript
JavaScript实现简单音乐播放器
2020/04/17 Javascript
Vue.extend 编程式插入组件的实现
2019/11/18 Javascript
基于JavaScript实现十五拼图代码实例
2020/04/26 Javascript
Python高效编程技巧
2013/01/07 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
Python sklearn KFold 生成交叉验证数据集的方法
2018/12/11 Python
Python调用.NET库的方法步骤
2019/12/27 Python
python自动下载图片的方法示例
2020/03/25 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
2020/03/28 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
python怎么对数字进行过滤
2020/07/05 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
Trip.com澳大利亚:在线旅行社
2019/12/01 全球购物
连锁酒店店长职责范本
2014/02/13 职场文书
群众路线教育党课主持词
2014/04/01 职场文书
学校班子个人对照检查材料思想汇报
2014/09/27 职场文书
作风转变年心得体会
2014/10/22 职场文书
高中运动会广播稿
2015/08/19 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
Java实现房屋出租系统详解
2021/10/05 Java/Android
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python