Home Backend Development PHP Tutorial Collection of common PHP functions

Collection of common PHP functions

Nov 23, 2016 pm 03:21 PM

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;
}
?>

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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

How does session hijacking work and how can you mitigate it in PHP? How does session hijacking work and how can you mitigate it in PHP? Apr 06, 2025 am 12:02 AM

Session hijacking can be achieved through the following steps: 1. Obtain the session ID, 2. Use the session ID, 3. Keep the session active. The methods to prevent session hijacking in PHP include: 1. Use the session_regenerate_id() function to regenerate the session ID, 2. Store session data through the database, 3. Ensure that all session data is transmitted through HTTPS.

Describe the SOLID principles and how they apply to PHP development. Describe the SOLID principles and how they apply to PHP development. Apr 03, 2025 am 12:04 AM

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set permissions of unixsocket after system restart? How to automatically set permissions of unixsocket after system restart? Mar 31, 2025 pm 11:54 PM

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

How to debug CLI mode in PHPStorm? How to debug CLI mode in PHPStorm? Apr 01, 2025 pm 02:57 PM

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

How to send a POST request containing JSON data using PHP's cURL library? How to send a POST request containing JSON data using PHP's cURL library? Apr 01, 2025 pm 03:12 PM

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

See all articles