一些使用频率比较高的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新手上路(十)
Oct 09 PHP
一步一步学习PHP(7) php 字符串相关应用
Mar 05 PHP
php.ini修改php上传文件大小限制的方法详解
Jun 17 PHP
PHP 验证码不显示只有一个小红叉的解决方法
Sep 30 PHP
微信公众平台实现获取用户OpenID的方法
Apr 15 PHP
PHP根据图片色界在不同位置加水印的方法
Jul 01 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
Jul 29 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
Sep 30 PHP
纯php生成随机密码
Oct 30 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
Oct 11 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
Jan 15 PHP
PHP里的$_GET数组介绍
Mar 22 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和js交互一例-PHP教程,PHP应用
2007/01/03 PHP
php查看session内容的函数
2008/08/27 PHP
PHP详解ASCII码对照表与字符转换
2011/12/05 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
2013/03/06 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
XmlUtils JS操作XML工具类
2009/10/01 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
vue一步步实现alert功能
2017/07/05 Javascript
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
总结python中pass的作用
2019/02/27 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
HTML5: Web 标准最巨大的飞跃
2008/10/17 HTML / CSS
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
有原因的手表:Flex Watches
2019/03/23 全球购物
简历自荐信
2013/12/02 职场文书
社区健康教育工作方案
2014/06/03 职场文书
市场营销专业求职信
2014/06/17 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
设备收款委托书范本
2014/10/02 职场文书
企业财务总监岗位职责
2015/04/03 职场文书
庆祝教师节主持词
2015/07/06 职场文书
Ajax常用封装库——Axios的使用
2021/05/08 Javascript
python+opencv实现视频抽帧示例代码
2021/06/11 Python