一些使用频率比较高的php函数
在php开发中,我们经常会遇到一些函数,下面是整理好的,可以直接使用,方便开发效率,不过建议大家一定要先看懂,然后在这个基础上增加功能就提高了自身能力了
1.产生随机字符串函数
<?php 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
<?php mysql_insert_id(); ?>
本文地址:http://www.phprm.com/function/228c730d49f31925f6279d09853d5223.html
转载随意,但请附上文章地址:-)