一些使用频率比较高的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
转载随意,但请附上文章地址:-)