Recently researching PHP, save it. Source: php source code network - Open Source Programs (Open Source) Content: function GetIP() { //Get IP if ($_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER ["HTTP_X_FORWARDED_FOR"]; else if ($_SERVER["HTTP_CLIENT_IP"]) $ip = $_SERVER["HTTP_CLIENT_IP"]; else if ($_SERVER["REMOTE_ADDR"]) $ip = $_SERVER[" REMOTE_ADDR"]; else if (getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); el se if (getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); else $ip = "Unknown"; return $ip; } ?> Detailed source reference: http:// /www.jb51.net/article/22199.htm function DateAdd($date, $int, $unit = "d") { //Increase of time (can also be improved to hours, minutes and seconds) You can increase it and make it up when you have time) $dateArr = explode("-", $date); $value[$unit] = $int; return date("Y-m-d", mktime(0,0,0, $dateArr[1] + $value['m'], $dateArr[2] + $value['d'], $dateArr[0] + $value['y'])); } function GetWeekDay( $date) { //Calculate the day of the week for the given date $dateArr = explode("-", $date); return date("w", mktime(0,0,0,$dateArr[1] ,$dateArr[2],$dateArr[0])); } ?> Detailed source reference: http://www.jb51.net/article/22199.htm function check_date( $date) { //Check whether the date is a legal date $dateArr = explode("-", $date); if (is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr [2])) { return checkdate($dateArr[1],$dateArr[2],$dateArr[0]); } return false; } function check_time($time) { //Check whether the time is Legal time $timeArr = explode(":", $time); if (is_numeric($timeArr[0]) && is_numeric($timeArr[1]) && is_numeric($timeArr[2])) { if ( ($timeArr[0] >= 0 && $timeArr[0] <= 23) && ($timeArr[1] >= 0 && $timeArr[1] <= 59) && ($timeArr[2] >= 0 && $timeArr[2] <= 59)) return true; else return false; } return false; } Detailed source reference: http://www.jb51.net/article /22199.htm function DateDiff($date1, $date2, $unit = "") { //Time comparison function, returns the number of seconds, minutes, hours or days between two dates switch ($unit ) { case 's': $dividend = 1; break; case 'i': $dividend = 60; break; case 'h': $dividend = 3600; break; case ' d': $dividend = 86400; break; default: $dividend = 86400; } $time1 = strtotime($date1); $time2 = strtotime($date2); if ($time1 && $ time2) return (float)($time1 - $time2) / $dividend; return false; } ?> Detailed source reference: http://www.jb51.net/article/22199.htm Method 1: header("Location: index.php"); Method 2: echo "window.location ="$PHP_SELF"; "; Method 3: echo " "; ?> Detailed source reference: http://www.jb51.net/article/22199.htm PHP Redirect Copy the code as follows: Method 1: header("Location: index.php"); Method 2: echo "window.location ="$PHP_SELF";< ;/scrīpt>"; Method 3: echo " "; ?> Get the visitor's browser code As follows: function browse_infor() { $browser="";$browserver=""; $Browsers =array("Lynx","MOSAIC","AOL","Opera","JAVA ","MacWeb","WebExplorer","OmniWeb"); $Agent = $GLOBALS["HTTP_USER_AGENT"]; for ($i=0; $i<=7; $i++) { if (strpos($Agent,$Browsers[$i])) { $browser = $Browsers[$i]; $browserver =""; } } if (ereg("Mozilla",$Agent) && !ereg("MSIE",$Agent)) { $temp =explode("(", $Agent); $Part=$temp[0]; $temp =explode("/", $Part); $browserver=$temp[1]; $temp =explode(" ",$browserver); $browserver=$temp[0]; $browserver =preg_replace("/([d.]+)/","1",$browserver); $browserver = " $browserver"; $browser = "Netscape Navigator"; } if (ereg("Mozilla",$Agent) && ereg("Opera",$Agent)) { $temp =explode("(", $Agent); $Part=$temp[1]; $temp =explode(")", $Part); $browserver=$temp[1]; $temp =explode(" ",$browserver);$browserver=$temp[2]; $browserver =preg_replace("/([d.]+)/","1",$browserver); $browserver = " $browserver"; $browser = "Opera"; } if (ereg("Mozilla",$Agent) && ereg("MSIE",$Agent)) { $temp = explode("(", $Agent); $Part=$temp[1]; $temp = explode(";",$Part); $Part=$temp[1]; $temp = explode(" ",$Part);$browserver=$temp[2]; $browserver =preg_replace("/([d.]+)/","1",$browserver); $browserver = " $browserver"; $browser = "Internet Explorer"; } if ($browser!="") { $browseinfo = "$browser$browserver"; } else { $browseinfo = "Unknown"; } return $browseinfo; } //调用方法$browser=browseinfo() ;直接返回结果 ?> 详细出处参考:http://www.jb51.net/article/22199.htm 获取访问者操作系统 复制代码 代码如下: function osinfo() { $os=""; $Agent = $GLOBALS["HTTP_USER_AGENT"]; if (eregi('win',$Agent) && strpos($Agent, '95')) { $os="Windows 95"; } elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) { $os="Windows ME"; } elseif (eregi('win',$Agent) && ereg('98',$Agent)) { $os="Windows 98"; } elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) { $os="Windows 2000"; } elseif (eregi('win',$Agent) && eregi('nt',$Agent)) { $os="Windows NT"; } elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) { $os="Windows XP"; } elseif (eregi('win',$Agent) && ereg('32',$Agent)) { $os="Windows 32"; } elseif (eregi('linux',$Agent)) { $os="Linux"; } elseif (eregi('unix',$Agent)) { $os="Unix"; } elseif (eregi('sun',$Agent) && eregi('os',$Agent)) { $os="SunOS"; } elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) { $os="IBM OS/2"; } elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) { $os="Macintosh"; } elseif (eregi('PowerPC',$Agent)) { $os="PowerPC"; } elseif (eregi('AIX',$Agent)) { $os="AIX"; } elseif (eregi('HPUX',$Agent)) { $os="HPUX"; } elseif (eregi('NetBSD',$Agent)) { $os="NetBSD"; } elseif (eregi('BSD',$Agent)) { $os="BSD"; } elseif (ereg('OSF1',$Agent)) { $os="OSF1"; } elseif (ereg('IRIX',$Agent)) { $os="IRIX"; } elseif (eregi('FreeBSD',$Agent)) { $os="FreeBSD"; } if ($os=='') $os = "Unknown"; return $os; } //调用方法$os=os_infor() ; ?> 详细出处参考:http://www.jb51.net/article/22199.htm 文件格式类 复制代码 代码如下: $mime_types = array( 'gif' => 'image/gif', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpe' => 'image/jpeg', 'bmp' => 'image/bmp', 'png' => 'image/png', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'pict' => 'image/x-pict', 'pic' => 'image/x-pict', 'pct' => 'image/x-pict', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'psd' => 'image/x-photoshop', 'swf' => 'application/x-shockwave-flash', 'js' => 'application/x-javascrīpt', 'pdf' => 'application/pdf', 'ps' => 'application/postscrīpt', 'eps' => 'application/postscrīpt', 'ai' => 'application/postscrīpt', 'wmf' => 'application/x-msmetafile', 'css' => 'text/css', 'htm' => 'text/html', 'html' => 'text/html', 'txt' => 'text/plain', 'xml' => 'text/xml', 'wml' => 'text/wml', 'wbmp' => 'image/vnd.wap.wbmp', 'mid' => 'audio/midi', 'wav' => 'audio/wav', 'mp3' => 'audio/mpeg', 'mp2' => 'audio/mpeg', 'avi' => 'video/x-msvideo', 'mpeg' => 'video/mpeg', 'mpg' => 'video/mpeg', 'qt' => 'video/quicktime', 'mov' => 'video/quicktime', 'lha' => 'application/x-lha', 'lzh' => 'application/x-lha', 'z' => 'application/x-compress', 'gtar' => 'application/x-gtar', 'gz' => 'application/x-gzip', 'gzip' => 'application/x-gzip', 'tgz' => 'application/x-gzip', 'tar' => 'application/x-tar', 'bz2' => 'application/bzip2', 'zip' => 'application/zip', 'arj' => 'application/x-arj', 'rar' => 'application/x-rar-compressed', 'hqx' => 'application/mac-binhex40', 'sit' => 'application/x-stuffit', 'bin' => 'application/x-macbinary', 'uu' => 'text/x-uuencode', 'uue' => 'text/x-uuencode', 'latex'=> 'application/x-latex', 'ltx' => 'application/x-latex', 'tcl' => 'application/x-tcl', 'pgp' => 'application/pgp', 'asc' => 'application/pgp', 'exe' => 'application/x-msdownload', 'doc' => 'application/msword', 'rtf' => 'application/rtf', 'xls' => 'application/vnd.ms-excel', 'ppt' => 'application/vnd.ms-powerpoint', 'mdb' => 'application/x-msaccess', 'wri' => 'application/x-mswrite', ); ?> 详细出处参考:http://www.jb51.net/article/22199.htm php生成excel文档 复制代码 代码如下: header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=test.xls"); echo "test1t"; echo "test2tn"; echo "test1t"; echo "test2tn"; echo "test1t"; echo "test2tn"; echo "test1t"; echo "test2tn"; echo "test1t"; echo "test2tn"; echo "test1t"; echo "test2tn"; //改动相应文件头就可以输出.doc .xls等文件格式了 ?> Detailed source reference: http://www.jb51.net/article/22199.htm Time comparison issue Give a simple example: For example, a forum uses a new image to mark the posts published on that day. Method 1: Copy the code as follows: //$db->rows[$i][date] is the datetime field value in the database. $today=time(); $theDay= date("Y-m-d H:i:s",$today-24*3600); $newTag=$db->rows[$i][date]>=$theDay?" ":""; //Method 2: $newTag=$db->rows[$i][date]>=date("Y-m-d 00:00:00 ")?" ":""; ?> Copy the code as follows: //Extract the variables submitted by the page and browser, the function Equivalent to opening global variables in PHP.INI @extract($_SERVER, EXTR_SKIP); @extract($_SESSION, EXTR_SKIP); @extract($_POST, EXTR_SKIP); @extract($_FILES , EXTR_SKIP); @extract($_GET, EXTR_SKIP); @extract($_ENV, EXTR_SKIP); ?> Copy the code as follows: //Read file function function readfromfile( $file_name) { if (file_exists($file_name)) { $filenum=fopen($file_name,"r"); flock($filenum,LOCK_EX); $file_data=fread($filenum, filesize($file_name )); rewind ($filenum); fclose($filenum); return $file_data; writetofile($file_name,$data,$method="w") { $filenum=fopen($file_name,$method); flock($filenum,LOCK_EX); $file_data=fwrite($filenum,$data) ; fclose($filenum); return $file_data; } ?> Copy the code as follows: //Quick page redirection function turntopage($url="index.php",$ info = "The page is redirecting...",$second=2){ print "nnThe page is redirecting.... n"; print " n"; print "n"; print "nn"; print "n" ; print " n"; print " n"; print " n"; print " n"; print " n"; print " n" ; print " n"; print " n"; print " n"; print " print "
n"; print "n"; exit; ?> Generate a random string function Copy the code as follows: 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; } ?> Intercept a string of a certain length (this function is valid for GB2312) Copy the code as follows: 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; } ?> Get the client IP address The code is as follows: 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); } ?> Judge the email address The code is as follows: function checkEmail($inAddress) { return (ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+ ",$inAddress)); } ?> ,$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".$totalpage." page"; $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 .= "First page "; if($start>1) $out.="..<< "; for($t=$start;$t<=$end;$t++) { $out .= ($page==$t) ? "[".$t."]< ;/b> " : "$t "; } if($end< ;$totalpage) $out.=">>..< /a>"; if($page<>$totalpage) $out .= " Last page "; return $out; } ?> Get the ID of newly inserted data Copy the code as follows: mysql_insert_id(); ?> The code is as follows: //Get the current script URL function get_php_url(){ if(!empty($_server["REQUEST_URI"])){ $scriptName = $_SERVER["REQUEST_URI"]; $nowurl = $scriptName; }else{ $scriptName = $_SERVER ["PHP_SELF"]; if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName; else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"]; } return $nowurl; } ?> The code is as follows: //Convert full-width numbers to half-width numbers function GetAlabNum($fnum){ $nums = array("0","1", "2","3","4","5","6","7","8","9"); $fnums = "0123456789"; for($i=0;$ i<=9;$i++) $fnum = str_replace($nums[$i],$fnums[$i],$fnum); $fnum = ereg_replace("[^0-9.]|^0{1 ,}","",$fnum); if($fnum=="") $fnum=0; return $fnum; } ?> The code is as follows: //Remove HTML tags < ? function Text2Html($txt){ $txt = str_replace(" "," ",$txt); $txt = str_replace("<","<",$txt); $txt = str_replace (">",">",$txt); $txt = preg_replace("/[rn]{1,}/isU"," rn",$txt); return $txt; } ?> The code is as follows: //Convert relative path to absolute path function relative_to_absolute($content, $feed_url) { preg_match('/(http|https|ftp):///' , $feed_url, $protocol); $server_url = preg_replace("/(http|https|ftp|news):///", "", $feed_url); $server_url = preg_replace("//.*/ ", "", $server_url); if ($server_url == '') { return $content; } if (isset($protocol[0])) { $new_content = preg_replace('/href= "//', 'href="'.$protocol[0].$server_url.'/', $content); $new_content = preg_replace('/src="//', 'src="'.$ protocol[0].$server_url.'/', $new_content); } else { $new_content = $content; } return $new_content; } ?> Copy the code as follows: // Get all links function get_all_url($code){ preg_match_all('/"' ]+)["|']?s* [^>]*>([^>]+)/i',$code,$arr); return array('name'=>$arr[2],'url '=>$arr[1]); } ?> Copy the code The code is as follows: //Convert each row of the HTML table to a CSV format array function get_tr_array($table) { $table = preg_replace("']*?>'si",'"',$table); $table = str_replace(" ",'",', $table); $table = str_replace("","{tr}",$table); //Remove HTML tag $table = preg_replace("'<[/!]*? [^<>]*?>'si","",$table); //Remove whitespace characters $table = preg_replace("'([rn])[s]+'","" ,$table); $table = str_replace(" ","",$table); $table = str_replace(" ","",$table); $table = explode(",{tr}", $table); array_pop($table); return $table; } ?> Copy the code as follows: //Convert each row and column of the HTML table into an array and collect table data < ? function get_td_array($table) { $table = preg_replace("']*?>'si","",$table); $table = preg_replace("'< tr[^>]*?>'si","",$table); $table = preg_replace("']*?>'si","",$table ); $table = str_replace("","{tr}",$table); $table = str_replace(" ","{td}",$table); //Remove HTML tags $table = preg_replace("'<[/!]*?[^<>]*?>'si","",$table); //Remove blank characters $table = preg_replace("'([rn])[s]+'","",$table); $table = str_replace(" ","",$table); $table = str_replace(" ","",$table); $table = explode('{tr}', $table); array_pop($table); foreach ($table as $key=>$tr) { $td = explode('{td}', $tr); array_pop($td); $td_array[] = $td; } return $td_array; } ?> 复制代码 代码如下: //返回字符串中的所有单词 $distinct=true 去除重复 function split_en_str($str,$distinct=true) { preg_match_all('/([a-zA-Z]+)/',$str,$match); if ($distinct == true) { $match[1] = array_unique($match[1]); } sort($match[1]); return $match[1]; } ?> 复制代码 代码如下: //打印出为本PHP项目做出贡献的人员的清单 string phpcredits(void) ?> //获得当前的脚本网址 function get_php_url(){ if(!empty($_SERVER["REQUEST_URI"])){ $scriptName = $_SERVER["REQUEST_URI"]; $nowurl = $scriptName; }else{ $scriptName = $_SERVER["PHP_SELF"]; if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName; else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"]; } return $nowurl; } //把全角数字转为半角数字 function GetAlabNum($fnum){ $nums = array("0","1","2","3","4","5","6","7","8","9"); $fnums = "0123456789"; for($i=0;$i<=9;$i++) $fnum = str_replace($nums[$i],$fnums[$i],$fnum); $fnum = ereg_replace("[^0-9\.]|^0{1,}","",$fnum); if($fnum=="") $fnum=0; return $fnum; } //去除HTML标记 function Text2Html($txt){ $txt = str_replace(" "," ",$txt); $txt = str_replace("<","<",$txt); $txt = str_replace(">",">",$txt); $txt = preg_replace("/[\r\n]{1,}/isU"," \r\n",$txt); return $txt; } //清除HTML标记 function ClearHtml($str){ $str = str_replace('<','<',$str); $str = str_replace('>','>',$str); return $str; } //相对路径转化成绝对路径 function relative_to_absolute($content, $feed_url) { preg_match('/(http|https|ftp):\/\//', $feed_url, $protocol); $server_url = preg_replace("/(http|https|ftp|news):\/\//", "", $feed_url); $server_url = preg_replace("/\/.*/", "", $server_url); if ($server_url == '') { return $content; } if (isset($protocol[0])) { $new_content = preg_replace('/href="\//', 'href="'.$protocol[0].$server_url.'/', $content); $new_content = preg_replace('/src="//', 'src="'.$protocol[0].$server_url.'/', $new_content); } else { $new_content = $content; } return $new_content; } //Get all links function get_all_url($code){ preg_match_all('/"' ]+)[" |']?s*[^>]*>([^>]+)/i',$code,$arr); return array('name'=>$arr [2],'url'=>$arr[1]); } //Get the content in the specified tag function get_tag_data($str, $start, $end){ If ( $ start == '' || $end == '' ){ return $str[0]; } //Convert each row of the HTML table to a CSV format array function get_tr_array($table) { $table = preg_replace("']*?> 'si",'"',$table); $table = str_replace(" ",'",',$table); $table = str_replace(""," {tr} ", $ table); // Remove the html mark $ table = preg_replace (" '& lt; [/!]*? [^& lt; & gt;]*? & gt;' si ", "",$table); $table ",$table); $table = str_replace(" ","",$table); $table = explode(", {tr}", $table); array_pop($table); return $ table; } //Convert each row and column of the HTML table into an array and collect table data function get_td_array($table) { ;'si","",$table); $table = preg_replace("']*?>'si","",$table); $table = preg_replace(" ']*?>'si","",$table); $table = str_replace(" ","{tr}",$table); $ table = str_replace("","{td}",$table); table = str_replace(" ); ;array_pop($td); ct =true) { preg_match_all('/([a-zA-Z]+)/',$str,$match); [1]); sort($match[1]); $ fd=fopen($file_name,r); while($bufline=fgets($fd, 4096)){ $buf.=$bufline; } fclose($fd); return $buf; } ?> fopen($file_name,$method); flock($filenum,LOCK_EX); $file_data=fwrite($filenum,$data); fclose($filenum); return $file_data; } ?> Static page generation function //Static page generation function function phptohtm($filefrom,$fileto,$u2u=1){ if($u2u==1){ $data=PHP_Read($ filefrom); }else{ $data=$filefrom; } PHP_Write($fileto,$data); return true; } ?> Specify condition information quantity retrieval function //Specify condition information quantity retrieval function function rec_exist($table,$where){ $query="select count(*) as num from $table ".$where; $result=mysql_query ($query) or die(nerror(1)); $rowcount=mysql_fetch_array($result); $num=$rowcount["num"]; if ($num==0){ return false; } Return $num; } ?> Directory deletion function //Directory deletion function function del_DIR($directory){ $mydir=dir($directory) ; while($file=$mydir->read()){ if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".." )){ del_DIR("$directory/$file"); }else{ if(($file!=".") AND ($file!="..")){ unlink("$directory /$file"); //echo "unlink $directory/$file ok "; } } } $mydir->close(); rmdir($directory); //echo " rmdir $directory ok "; } ?> Directory name legality detection function // Directory name legality detection function isen($str){ $ret=""; for ($i=0;$i $p=ord(substr($str,$i,1)); if(($p<48 & $p!=45 & $p!=46) || ($ p>57 & $p<65) || ($p>90 & $p<97 & $p!=95) || $p>122){ nerror("Does not meet the specification! "); } $ret.=chr($p); } return $ret; } ?> paging function //分页函式 function splitlist($HALT,$LRLIST,$ECHOCNT,$paper,$table,$where,$page_id,$userid){ global $splitstr,$sumcnt; if($paper=="" || $sumcnt==""){ $query = "select count(*) as num from $table $where"; $result = mysql_query($query); $row = mysql_fetch_array($result); $sumcnt=$row["num"]; if($sumcnt==0){ nerror("该版内还没有选择发布新闻 !"); } $paper=1; } $sumpaper=($sumcnt-$sumcnt%$ECHOCNT)/$ECHOCNT; if(($sumcnt%$ECHOCNT)!=0) $sumpaper+=1; if($sumpaper==1 && $HALT==0) return($where); $enwhere=base64_encode(base64_encode($where)); if(($LRLIST*2+1) < $sumpaper){ if(($paper-$LRLIST) < 2){ $tract=1; $sub=$LRLIST*2+1; }else if(($paper+$LRLIST) >= $sumpaper){ $tract=$sumpaper-($LRLIST*2); $sub=$sumpaper; }else{ $tract=$paper-$LRLIST; $sub=$paper+$LRLIST; } }else{ $tract=1; $sub=$sumpaper; } $uppaper=$paper-1; $downpaper=$paper+1; $startcnt=($paper-1)*$ECHOCNT; $where.=" limit ${ startcnt },${ ECHOCNT }"; if($tract > 1) { $splitstr="【 << "; } else $splitstr="【 << "; for($i=$tract;$i<=$sub;$i++){ if ($i!=$paper) $splitstr.="".$i." "; else $splitstr.="".$i." "; } if ($sub!=$sumpaper) $splitstr.=">> 】"; else $splitstr.=">> 】"; return($where); } ?> 关于分页函式的使用说明 /* #### 检索分页函式 #### Int $HALT - 检索结果仅分1页时是否(1/0)显示页码条 Int $LRLIST - (页码条显示页码数-1)/2 Int $ECHOCNT - 检索时每页显示记录的数量 Int $paper - 页数,预提取:$paper=$HTTP_GET_VARS[paper]; Varchar $table - 数据表名,预附值:$table="db.table"; Varchar $where - 检索条件,预附值:$where="where field='value'"; Varchar $enwhere - 将原$where进行两次base64_encode()编码后以GET的方式提交 Varchar $splitstr - 页码条输出字串,执行函式后在相应的位置执行 echo $splitstr; 函式调用前需获取变量 - $paper=$HTTP_GET_VARS[paper]; $sumcnt=$HTTP_GET_VARS[sumcnt]; $enwhere=$HTTP_GET_VARS[enwhere]; Return (Varchar $where) - 分页后检索语句的检索条件 注意:本函式需调用出错处理函式 nerror($error); */ 图片文件上传函式 //图片文件上传函式 function upload_img($UploadFile,$UploadFile_name,$UploadFile_size,$UploadPath,$max_size=64){ //$TimeLimit=60; //设置超时限制时间 缺省时间为 30秒 设置为0时为不限时 //set_time_limit($TimeLimit); if(($UploadFile!= "none" )&&($UploadFile != "" )){ $FileName=$UploadPath.$UploadFile_name; if($UploadFile_size <1024){ $FileSize="(string)$UploadFile_size" . "字节"; }elseif($UploadFile_size <(1024 * $max_size)){ $FileSize=number_format((double)($UploadFile_size / 1024), 1) . " KB"; }else{ nerror("File exceeds size limit!"); } //{ //$FileSize="number_format((double)($UploadFile_size" / (1024 * 1024)), 1) . " MB"; / / } if(!file_exists($FileName)){ if(copy($UploadFile,$FileName)){ return "$UploadFile_name ($FileSize)"; }else{ nerror("File $UploadFile_name failed to upload ! "); } unlink($UploadFile); }else{ nerror("File $UploadFile_name already exists!"); } //set_time_limit(30); //Restore the default timeout setting } } How to determine the legitimacy of an ip address if(!strcmp(long2ip(sprintf("%u",ip2long($ip))),$ip)) echo "is ipn"; ---- Email regularity judgment eregi("^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z_-]+.)+[ a-zA-Z]$", $email); Example of checking whether the ip address and mask are legal $ip = '192.168.0.84'; $mask = '255.255.255.0' ; $network = '192.168.0'; $ip = ip2long($ip); $mask = ip2long($mask); $network = ip2long($network); if( ($ip & $ mask) == $network) echo "valid ip and maskn"; ?> ---- How to set the file download header output header("Content- type: application/x-download"); header("Content-Disposition: attachment; filename=$file_download_name;"); header("Accept-Ranges: bytes"); header("Content-Length: $download_size "); echo 'xxx' Use header to output ftp download method, and support breakpoint resume download An example: header('Pragma: public'); header('Cache-Control : private'); header('Cache-Control: no-cache, must-revalidate'); header('Accept-Ranges: bytes'); header('Connection: close'); header("Content -Type: audio/mpeg"); header("Location:ftp://download:1bk3l4s3k9s2@232.2.22.22/2222/web technology development knowledge base/cn_web.rmvb"); Regular Match Chinese ereg("^[".chr(0xa1)."-".chr(0xff)."]+$", $str); Batch replace hyperlinks in text < ;?php function urlParse($str = ''){ if ('' == $str) return $str; $types = array("http", "ftp", "https"); $ replace = << ''.htmlentities('1').htmlentities('2 ').' ' EOPHP; $ret = $str; while(list(,$type) = each($types)){ $ret = preg_replace("| ($type://)([^s]*)|ie ", $replace, $ret); } return $ret; } ?>Statement: The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn