您的位置:首页技术文章
文章详情页

一些使用频率比较高的PHP函数

【字号: 日期:2024-02-19 10:55:55浏览:2作者:猪猪
在php开发中,我们经常会遇到一些函数,下面是整理好的,可以直接使用,方便开发效率,不过建议大家一定要先看懂,然后在这个基础上增加功能就提高了自身能力了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 .='<metahttp-equiv=@#refresh@# content='3;url=@#'.$url.'@#'>';$html .='<linkhref=@#../templates/style.css@# type=text/css rel=stylesheet>';$html .='</head><body><br><br><br><br>';$html .='<tablecellspacing=@#0@#cellpadding=@#0@#border=@#1@#width=@#450@#align=@#center@#>';$html .='<tr><tdbgcolor=@##ffffff@#>';$html .='<tableborder=@#1@#cellspacing=@#1@#cellpadding=@#4@#width=@#100%@#>';$html .='<trclass=@#m_title@#>';$html .='<td>'.$title.'</td></tr>';$html .='<trclass=@#line_1@#><tdalign=@#center@#height=@#60@#>';$html .='<br>'.$message.'<br><br>';if (!empty($url))$html .='系统将在3秒后返回<br>如果您的浏览器不能自动返回,请点击[<a href='https://www.haobala.com/bcjs/.$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 .= '<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;}8.获取新插入数据的id<?mysql_insert_id();?>本文来自: 脚本之家(www.jb51.net) 详细出处参考:http://www.jb51.net/article/16071.htm
标签: PHP