手机版

PHP常用技术文之文件操作和目录操作总结

时间:2021-09-09 来源:互联网 编辑:宝哥软件园 浏览:

一、基本文件的操作

文件的基本操作有:文件判断、目录判断、文件大小、读写性判断、存在性判断及文件时间等

?服务器端编程语言(Professional Hypertext Preprocessor的缩写)标题('内容类型','文本/html;charset=utf-8 ');/* *声明一个函数,传入文件名获取文件属性*@param字符串$fileName文件名称*/函数getFilePro($fileName) { if(!file_exists($fileName)) { echo '文件不存在br/';返回;} /*是否是普通文件*/if(is _ file($ FIlename)){ echo $ FIlename .'是一个文件br/';} /*是否是目录*/if(is _ dir($ FIlename)){ echo $ FIlename .'是一个目录;} /*输出文件的型态*/echo '文件型态是:'.getFileType($fileName).br/';/*文件大小,转换单位*/echo '文件大小是:'.getFileSize(文件大小($fileName)).br/';/*文件是否可读*/if(is _ readable($ FIlename)){ echo '文件可读br/';} /*文件是否可写*/if(is _ write($ FIlename)){ echo '文件可写br/';} /*文件是否可执行*/if(is _ executable($ FIlename)){ echo '文件可执行br/';}回声文件创立时间:'.日期(' Y年m月j日,filectime($fileName)).br/';"回声"文件最后修改时间:'.日期(' Y年m月j日,filemtime($fileName)).br/';"回声"文件最后打开时间:'.日期(' Y年m月j日,fileatime($fileName)).br/';} /* *声明一个函数,返回文件类型*@param字符串$fileName文件名称*/函数getFileType($ FIlename){ $ type=' ';开关(文件类型($ FIlename)){大小写' file ' : $ type .='普通文件;打破;案例dir ' : $类型。='目录文件;打破;案例“block”: $类型。='块设备文件;打破;案例“char”:美元类型。='字符设备文件;打破;案例菲洛:美元类型。='管道文件;打破;案例'链接' :美元类型。='符号链接;打破;案例"未知": $类型。='未知文件;打破;default: }返回$ type} /* *声明一个函数,返回文件大小* @ param int $字节文件字节数*/函数getFileSize($ bytes){ if($ bytes=pow(2,40)){ $ return=round($ bytes/pow(1024,4),2);$后缀=' TB} else if($bytes=pow(2,30)){ $ return=round($ bytes/pow(1024,3),2);$后缀=' GB} else if($bytes=pow(2,20)){ $ return=round($ bytes/pow(1024,2),2);$后缀=' MB} else if($bytes=pow(2,10)){ $ return=round($ bytes/pow(1024,1),2);$后缀=' KB} else { $ return=$ bytes$后缀=' B}返回$退货.' '.$后缀;} /*调用函数,传入试验目录下的test.txt文件*/getFilePro(' ./test/div。html ');结果:

二、目录的操作

目录的操作有:遍历目录、删除、复制、大小统计等

1、遍历目录

/* *遍历目录*@param字符串$dirName目录名*/function FindDir($ DirName){ $ num=0;/*统计子文件个数*/$ dir _ handle=open dir($ DirName);/*打开目录*//*输出目录文件*/echo "表格边框="0"align="center"width="600 "单元格间距="0 "单元格边距=" 0 ";回声标题2目录$dirName .'下的文件/H2/标题';echo ' tr align=' left ' bgcolor=' # cccccccc ';回声报文件名/th文件大小/th文件类型/th修改时间/th/tr ';while($ file=readdir($ dir _ handle)){ $ DirFile=$ DirName .'/'.$ file$bgcolor=$num %2==0?# ffffff ' : ' # ccccccecho " tr bgcolor=" .$bgcolor .'';回声td ' .$文件/TD ';回声td ' .文件大小($dirFile)./TD ';回声td ' .文件类型($dirFile)./TD ';回声td ' .日期(' Y/n/t ',filemtime($dirFile))./TD ';echo '/tr ';} echo '/table ';closedir($ dir _ handle);/*关闭目录*/echo '在$dirName .目录下共有$num .'个子文件;} /*传递当前目录下的试验目录*/findDir(' ./test’);结果

2、统计目录大小

/* *统计目录大小*@param字符串$dirName目录名* @返回double */函数DirSize($ DirName){ $ Dir _ SiZe=0;if($ Dir _ handle=@ opendir($ DirName)){ while($ FIlename=readdir($ Dir _ handle)){/*排除两个特殊目录*/if($fileName!='.'$fileName!='.'){ $subFile=$dirName .'/'.$ fileNameif(is _ file($ subFile)){ $ dir _ size=文件大小($ subFile);} if(is _ dir($ subFile)){ $ dir _ size=dirSize($ subFile);} } } closedir($ dir _ handle);返回$ dir _ size} } /*传递当前目录下的试验目录*/$dir_size=dirSize ' ./test’);回声报/测试目录文件大小是:'.回合($dir_size/pow(1024,1),2).' KB ';结果:

3、删除目录

/**删除目录*@param字符串$dirName目录名*/函数delDir($dirName) { /*php中的mkdir函数就可以创建目录*/if(file _ exists($ DirNAmE)){ if($ Dir _ handle=@ OpenDir($ DirNAmE)){ while($ FIlename=ReaDir($ Dir _ handle)){/*排除两个特殊目录*/if($fileName!='.'$fileName!='.'){ $subFile=$dirName .'/'.$ fileNameif(is _ file($ subFile)){ unlink($ subFile);} if(is _ dir($ subFile)){ DelDir($ subFile);} } } closedir($ dir _ handle);rmdir($ DirNAmE);返回$dirName .'目录已经删除;} } } /*传递试验目录的副本test1*/echo delDir ' ./test1’);删除成功的提示信息

4、复制目录

/* *复制目录*@param字符串$dirSrc原目录名*@param字符串$dirTo目标目录名*/function copyDir($dirSrc,$ DirTo){ if(is _ file($ DirTo)){ echo '目标目录不能创建;/*目标不是一个*/返回;} if(!file_exists($dirTo)) { /*目录不存在则创建*/mkdir($ DiRTO);} if($ dir _ handle=@ opendir($ DirSRc)){ while($ FIlename=readdir($ dir _ handle)){/*排除两个特殊目录*/if($fileName!='.$fileName!='.){ $subSrcFile=$dirSrc . '/'.$ fileName$subToFile=$dirTo.”/'.$ fileNameif(is _ file($ sub src file)){ copy($ sub src file,$ sub tofile);} if(is _ dir($ sub src file)){ copy dir($ sub src file,$ subToFile);} } } closedir($ dir _ handle);返回$dirSrc .目录已经复制到$dirTo .'目录;} } echo copyDir(' ./test ','./test copy’);

版权声明:PHP常用技术文之文件操作和目录操作总结是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。