PHP函数:PHP动态网页技术收集的几个有用函数_[PHP教程]                                           					
很有用的一些函数,你可以作为源码保存,然后以后避免重复编写。
文件读取函数 
   //文件读取函数
   function PHP_Read(file_name) { 
   fd=fopen(file_name,r);
   while(bufline=fgets(fd, 4096)){ 
   buf.=bufline;
    }
   fclose(fd);
   return buf;
    }
   ?>
文件写入函数 
   //文件写入函数
   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;
    }
   ?>
静态页面生成函数 
   //静态页面生成函数
   function phptohtm(filefrom,fileto,u2u=1){ 
   if(u2u==1){ 
   data=PHP_Read(filefrom);
    }else{ 
   data=filefrom;
    }
   PHP_Write(fileto,data);
   return true;
    }
   ?>
指定条件信息数量检索函数 
    //指定条件信息数量检索函数
   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;
    }
   ?>
目录删除函数 
   //目录删除函数
   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 ";
    }
   ?>
目录名称合法性检测函数 
   //目录名称合法性检测
   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("不符合规范!");
    } 
   ret.=chr(p); 
    } 
   return ret; 
    }
   ?>
分页函数 
   //分页函数
   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("文件超过限制大小!");
    } 
   //{ 
   //FileSize="number_format((double)(UploadFile_size" / (1024 * 1024)), 1) . " MB"; 
   // }
   if(!file_exists(FileName)){ 
   if(copy(UploadFile,FileName)){ 
   return "UploadFile_name (FileSize)";
    }else{ 
   nerror("文件 UploadFile_name 上载失败!");
    } 
   unlink(UploadFile); 
    }else{ 
   nerror("文件 UploadFile_name 已经存在!");
    } 
   //set_time_limit(30); //恢复缺省超时设置
    }
    }
   ?>