Home  >  Article  >  Backend Development  >  PHP common function libraries and some practical tips_PHP tutorial

PHP common function libraries and some practical tips_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:47:51826browse

File reading function
//File reading function
function PHP_Read($file_name) {
$fd=fopen($file_name,r);
while( $bufline=fgets($fd, 4096)){
$buf.=$bufline;
}
fclose($fd);
return $buf;
}
? >
File writing function
//File writing 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;
}
?>
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 specification!");
}
$ret.=chr($p);
}
return $ret;
}
?>
Paging function
//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 published in 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);
}
?>
Instructions on the use of paging functions
/*
#### Retrieval of paging functions####
Int $HALT - Retrieval Whether to display the page number bar (1/0) when the results are only divided into 1 page
Int $LRLIST - (the page number bar displays the page number-1)/2
Int $ECHOCNT - the number of records displayed on each page during retrieval
Int $paper - page number, pre-fetched: $paper=$HTTP_GET_VARS[paper];
Varchar $table - data table name, pre-attached value: $table="db.table";
Varchar $where - Retrieval conditions, pre-attached value: $where="where field='value'";
Varchar $enwhere - Encode the original $where twice with base64_encode() and submit it in the form of GET
Varchar $splitstr - The page number bar outputs a string, and after executing the function, execute echo at the corresponding position $splitstr;
Variables need to be obtained before the function is called -
$paper=$HTTP_GET_VARS[paper];
$sumcnt=$ HTTP_GET_VARS[sumcnt];
$enwhere=$HTTP_GET_VARS[enwhere];
Return (Varchar $where) - the search conditions for the search statement after paging
Note: This function needs to call the error handling function nerror( $error);
*/
Image file upload function
//Image file upload function
function upload_img($UploadFile,$UploadFile_name,$UploadFile_size,$UploadPath,$max_size=64) {
//$TimeLimit=60; //Set the timeout limit and the default time is 30 seconds. When set to 0, it is unlimited
//set_time_limit($TimeLimit);
if(($UploadFile! = "none" )&&($UploadFile != "" )){
$FileName=$UploadPath.$UploadFile_name;
if($UploadFile_size <1024){
$FileSize="(string) $UploadFile_size" . "Bytes";
}elseif($UploadFile_size <(1024 * $max_size)){
$FileSize=number_format((double)($UploadFile_size / 1024), 1) . " KB ";
}else{
nerror("File exceeds limit size!");
}
//{
//$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
}
}
The following Here are some tips:
How to determine the legality of an ip address
if(!strcmp(long2ip(sprintf("%u",ip2long($ip))),$ip)) echo "is ipn";
----
Regular judgment of email
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
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;
}

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/319854.htmlTechArticleFile reading function //File reading function function PHP_Read($file_name) { $fd=fopen( $file_name,r); while($bufline=fgets($fd, 4096)){ $buf.=$bufline; } fclose($fd); return $buf; } ? Text...
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