一些常用的php函数

2018-09-07 13:40

阅读:324

  1.产生随机字符串函数

<?php
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使用有效



<?php
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地址

<?php
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.创建相应的文件夹



<?php
functioncreatedir($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.判断邮箱地址



<?php
functioncheckEmail($inAddress)
{
return(ereg(^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+,$inAddress));
}
?>

6.跳转



<?php
functiongotourl($message=,$url=,$title=)
{

$html=<html><head>;
if(!empty($url))
$html.=<metahttp-equiv=refreshcontent=\3;url=.$url.\>;
$html.=<linkhref=../templates/style.csstype=text/cssrel=stylesheet>;
$html.=</head><body><br><br><br><br>;
$html.=<tablecellspacing=0cellpadding=0border=1width=450align=center>;
$html.=<tr><tdbgcolor=#ffffff>;
$html.=<tableborder=1cellspacing=1cellpadding=4width=100%>;
$html.=<trclass=m_title>;
$html.=<td>.$title.</td></tr>;
$html.=<trclass=line_1><tdalign=centerheight=60>;
$html.=<br>.$message.<br><br>;
if(!empty($url))
$html.=系统将在3秒后返回<br>如果您的浏览器不能自动返回,请点击[<ahref=.$url.target=_self>这里</a>]进入;
else
$html.=[<ahref=#onclick=history.go(-1)>返回</a>];
$html.=</td></tr></table></td></tr></table>;
$html.=</body></html>;
echo$html;
exit;
}
?>


7.分页(两个函数配合使用)



<?php
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=共<fontcolor=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)?<fontcolor=red><b>[.$t.]</b></font>:<ahref=?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;
}

?>


评论


亲,登录后才可以留言!