Collection of common PHP functions

巴扎黑
Release: 2016-11-23 15:21:18
Original
1040 people have browsed it

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 " print "
n";
print " n ";
print " n";
print " n";
print " n";
print " n";
print " n";
print " n";
print " < ;tr>n";
print " n";
print " n";
print " n";
print "
Page redirection prompt message
$info
n";
print " If your browser does not support automatic jump, please click here
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;
}
?>

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template