Summary of common PHP tips (with function code)

  • 2020-05-12 02:22:56
  • OfStack

PHP file read function

 
// File read function  
function PHP_Read($file_name) { 
$fd=fopen($file_name,r); 
while($bufline=fgets($fd, 4096)){ 
$buf.=$bufline; 
} 
fclose($fd); 
return $buf; 
} 
?> 

File write function
 
// File write function  
function PHP_Write($file_name,$data,$method= " w " ) { 
$filenum=@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; 
} 
?> 

Specifies the number of conditional information retrieval functions
 
// Specifies the number of conditional information retrieval functions  
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 delete function
 
// Directory delete 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 legitimacy detection function
 
// Directory name validity check  
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( "Not up to par ! " ); 
} 
$ret.=chr($p); 
} 
return $ret; 
} 
?> 

The PHP paging function
 
// The 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( "No news has been chosen within this edition  ! " ); 
} 
$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); 
} 
?> 

PHP instructions for using paging functions
 
/* 
####  Retrieves the paging function  #### 
Int $HALT  �   Retrieval results are scored only 1 When the page is (1/0) Display the page number bar  
Int $LRLIST  �  ( The page number bar shows the number of pages -1)/2 
Int $ECHOCNT  �   The number of records displayed per page when retrieving  
Int $paper  �   Pages, preextraction: $paper=$HTTP_GET_VARS[paper]; 
Varchar $table  �   The data table name , Early attached value: $table= " db.table " ; 
Varchar $where  �   Retrieve conditions, pre-attached values: $where= " where field='value' " ; 
Varchar $enwhere  �   The original $where For the first of two base64_encode() After coding in order to GET Method of submission  
Varchar $splitstr  �   The page bar outputs a string, which is executed in the corresponding position after the function is executed  echo $splitstr; 
 Get variables before function calls  - 
$paper=$HTTP_GET_VARS[paper]; 
$sumcnt=$HTTP_GET_VARS[sumcnt]; 
$enwhere=$HTTP_GET_VARS[enwhere]; 
Return (Varchar $where)  �   Retrieve the condition of the paged post-retrieve statement  
 Note: this function calls the error handling function  nerror($error); 
*/ 
PHP Picture file upload function  
// Picture file upload function  
function upload_img($UploadFile,$UploadFile_name,$UploadFile_size,$UploadPath,$max_size=64){ 
//$TimeLimit=60; // Set a timeout limit   The default time is  30 seconds   Set to 0 Time is unlimited  
//set_time_limit($TimeLimit); 
if(($UploadFile!=  " none "  )&&($UploadFile !=  ""  )){ 
$FileName=$UploadPath.$UploadFile_name; 
if($UploadFile_size <1024){ 
$FileSize= " (string)$UploadFile_size "  .  "Byte" ; 
}elseif($UploadFile_size <(1024 * $max_size)){ 
$FileSize=number_format((double)($UploadFile_size / 1024), 1) .  "  KB " ; 
}else{ 
nerror( "The file exceeds the 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  Upload failed ! " ); 
} 
unlink($UploadFile); 
}else{ 
nerror( "File  $UploadFile_name  existing ! " ); 
} 
//set_time_limit(30); // Restore the default timeout setting  
} 
} 

Here are a few tips:

How does PHP determine the validity of ip addresses
if (! strcmp (long2ip (sprintf (" % u ip2long ($ip))), $ip)) echo "is ipn";
-- -
Regular judgment of email
eregi (" ^ _. 0-9 a zA - Z -] + @ ([0-9 a zA - Z] [0-9 a zA - Z_ -] +.) + [a zA - Z] $", $email);
Check if 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 output of PHP file download header
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'
PHP USES header to output ftp downloads and supports breakpoint continuation
One 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: 1 bk3l4s3k9s2@232.2.22.22/2222 / web technology to develop the knowledge base/cn_web rmvb ");
PHP regular matching Chinese
ereg (" ^ ". chr (0 xa1). "-". chr (0 xff). "] + $", $str);
Batch replacement text inside the hyperlink
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 articles: