[PHP]实用函数2
2018-09-07 12:00
1、产生随机字符串函数
复制代码 代码如下:
functionrandom($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使用有效)
复制代码 代码如下:
functionWordscut($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地址
复制代码 代码如下:
functionGetIP(){
if(getenv(HTTP_CLIENT_IP)&&strcasecmp(getenv(HTTP_CLIENT_IP),unknown))
$ip=getenv(HTTP_CLIENT_IP);
elseif(getenv(HTTP_X_FORWARDED_FOR)&&strcasecmp(getenv(HTTP_X_FORWARDED_FOR),unknown))
$ip=getenv(HTTP_X_FORWARDED_FOR);
elseif(getenv(REMOTE_ADDR)&&strcasecmp(getenv(REMOTE_ADDR),unknown))
$ip=getenv(REMOTE_ADDR);
elseif(isset($_SERVER[@#REMOTE_ADDR@#])&&$_SERVER[@#REMOTE_ADDR@#]&&strcasecmp($_SERVER[@#REMOTE_ADDR@#],unknown))
$ip=$_SERVER[@#REMOTE_ADDR@#];
else
$ip=unknown;
return($ip);
}
4、判断邮箱地址
复制代码 代码如下:
functioncheckEmail($inAddress)
{
return(ereg(^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+,$inAddress));
}
5、分页(两个函数配合使用)
复制代码 代码如下:
functiongetpage($sql,$page_size=20)
{
global$page,$totalpage,$sums;//outparam
$page=$_GET[page];
//$eachpage=$page_size;
$pagesql=strstr($sql,from);
$pagesql=selectcount(*)asids.$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;
}
functionshowbar($string=)
{
global$page,$totalpage;
$out=共or=@#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.=<ahref=@#?page=1&&.$string.@#title=第一页>第一页</a>;
if($start>1)
$out.=<ahref=@#?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.=<ahref=@#?page=.$nextend.&&.$string.@#title=下一页>>>..</a>;
if($page<>$totalpage)
$out.=<ahref=@#?page=.$totalpage.&&.$string.@#title=最后页>最后页</a>;
return$out;
}
6、获取新插入数据的ID
复制代码 代码如下:
<?
mysql_insert_id();
?>
上一篇:一个程序下载的管理程序(三)
下一篇:第一节--面向对象编程