当前位置:首页 > 很有用的文件操作php函数

很有用的文件操作php函数

点击次数:1621  更新日期:2011-01-04
\n

文件读取函式
//文件读取函式
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); //恢复缺省超时设置
}
}
?>

\n