Some frequently used PHP functions
Author:Eve Cole
Update Time:2009-06-05 16:25:00
In PHP development, we often encounter some functions. The following are organized and can be used directly to facilitate development efficiency. However, it is recommended that you understand them first, and then add functions on this basis to improve your own capabilities.
1. Generate random string function
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. Intercept a string of a certain length Note: This function is valid for 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. Obtain the client ip address
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.Create the corresponding folders
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. Determine the email address
function checkemail($inaddress)
{
return (ereg("^([a-za-z0-9_-])+@([a-za-z0-9_-])+(.[a-za-z0-9_-])+", $inaddress));
}
6.Jump
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 .="The system will return in 3 seconds<br>If your browser cannot return automatically, please click [<a href=".$url." target=_self>here</a>] to enter";
else
$html .="[ <a href=@##@#=@#history.go(-1 )@#> Return</a>]";
$html .="</td></tr></table></td></tr></table>";
$html .="</body></html>";
echo $html;
exit;
}
7. Paging (two functions are used together)
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="Total<font ".$totalpage." color=@#red@#><b>".$totalpage."</b></font >pages";
$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 =First page>First page</a> ";
if($start>1)
$out.="< ahref=@#?page=".$prestart ."@# title=Previous page>..<<</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=Next page>>>..</a>";
if($page<>$totalpage)
$out .= " < ahref=@#?page=".$totalpage."&&".$string ."@# title=lastpage>lastpage</a>";
return $out;
}
8. Get the id of newly inserted data
<?
mysql_insert_id();
?>
This article comes from: Script House ( www.jb51.net ) Detailed source reference: http://www.jb51.net/article/16071.htm