1、基本文件操作文件基本操作包括:文件判断、目录判断、文件大小、可读性判断、存在性判断、文件时间等1:';12:返回;13:}14:/*是否是普通文件*/15:if(is_file($fileName))16:{17:echo$fileName.'isafile
';18:}19:/*它是一个目录吗*/20:if(is_dir($fileName))21:{22:echo$fileName.'isadirectory';23:}24:/*输出文件的类型*/25:echo'文件类型为:'.getFileType($fileName).'
';26:/*文件大小,换算单位*/27:echo'文件大小为:'.getFileSize(filesize($fileName)).'
';28:/*文件是否可读*/29:if(is_readable($fileName))30:{31:echo'文件可读
';32:}33:/*文件是否可写*/34:if(is_writable($fileName))35:{36:echo'文件可写
';37:}38:/*文件是否可执行*/39:if(is_executable($fileName))40:{41:echo'文件可执行
';42:}43:44:echo'文件创建时间:'.date('Yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyj',filectime($fileName)).'
';45:echo'文件修改时间***:'.date('Yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyjj',filemtime($fileName)).'
';46:echo'File***打开时间:'.date('Y月j日',fileatime($fileName)).'
';47:}48:49:/*50:*声明一个返回文件类型的函数51:*@paramstring$fileName文件名52:*/53:functiongetFileType($fileName)54:{55:$type='';56:switch(filetype($fileName))57:{58:case'file':$type.='normalfile';break;59:case'dir':$type.='目录文件';中断;60:case'block':$type.='块设备文件';break;61:case'char':$type.='字符设备文件';break;62:case'filo':$type.='管道文件';中断;63:case'link':$type.='symboliclink';中断;64:case'unknown':$type.='unknownfile';中断;65:默认:66:}67:返回$type;68:}69:70:/*71:*声明一个返回文件大小的函数72:*@paramint$bytesfilebytes73:*/74:functiongetFileSize($bytes)75:{76:if($字节>=pow(2,40))77:{78:$return=round($bytes/pow(1024,4),2);79:$后缀='结核病';80:}81:elseif($bytes>=pow(2,30))82:{83:$return=round($bytes/pow(1024,3),2);84:$suffix='GB';85:}86:elseif($bytes>=pow(2,20))87:{88:$return=round($bytes/pow(1024,2),2);89:$后缀='MB';90:}91:elseif($bytes>=pow(2,10))92:{93:$return=round($bytes/pow(1024,1),2);94:$后缀='KB';95:}96:否则97:{98:$return=$bytes;99:$后缀='B';100:}101:返回$return."".$suffix;102:}103:104:/*调用函数,传入测试目录下的test.txt文件*/105:getFilePro('./test/div.html');106:?>Result:2.目录操作目录操作包括:遍历目录、删除、复制、统计大小等1.遍历目录1:/*2:*遍历目录3:*@paramstring$dirName目录名4:*/5:functionfindDir($dirName)6:{7:$num=0;/*统计子文件的个数*/8:$dir_handle=opendir($dirName);/*打开目录*/9:/*输出目录文件*/10:echo'目录'.$dirName.'下的文件
文件大小 文件类型 修改时间 ';14:15:while($file=readdir($dir_handle))16:{17:$dirFile=$dirName.'/'.$file;18:$bgcolor=$num++%2==0?'#ffffff':'#cccccc';19:echo''.$file.' ';21:echo''.filesize($dirFile).' ';22:echo''.filetype($dirFile).' ';23:echo''.date('Y/n/t',filemtime($dirFile)).' ';24:echo'';25:}26:echo"";27:closedir($dir_handle);/*关闭目录*/28:echo"Thereare".$num.'sub-filesinthe".$dirName."directory';29:}30:/*调出当前目录下的test目录*/31:findDir('./test');结果2,统计目录大小1:/*2:*统计目录大小3:*@paramstring$dirNamedirectory名称4:*@returndouble5:*/6:7:functiondirSize($dirName)8:{9:$dir_size=0;10:if($dir_handle=@opendir($dirName))11:{12:while($fileName=readdir($dir_handle))13:{14:/*排除两个特殊目录*/15:if($fileName!='.'&&$fileName!='..')16:{17:$subFile=$dirName.'/'.$fileName;18:if(is_file($subFile))19:{20:$dir_size+=filesize($subFile);21:}22:if(is_dir($subFile))23:{24:$dir_size+=dirSize($subFile);25:}26:}27:}28:closedir($dir_handle);29:返回$dir_size;30:}31:}32:/*通过当前目录下的test目录*/33:$dir_size=dirSize('./test');34:echo'./test目录文件大小为:'.round($dir_size/pow(1024,1),2).'KB';结果3.删除目录1:/*2:*删除目录3:*@paramstring$dirName目录名4:*/5:functiondelDir($dirName)6:{7:/*php中的mkdir函数可以创建一个目录*/8:if(file_exists($dirName))9:{10:if($dir_handle=@opendir($dirName))11:{12:while($fileName=readdir($dir_handle))13:{14:/*排除两个特殊目录*/15:if($fileName!='.'&&$fileName!='..')16:{17:$subFile=$dirName.'/'.$fileName;18:if(is_file($subFile))19:{20:unlink($subFile);21:}22:if(is_dir($subFile))23:{24:delDir($subFile);25:}26:}27:}28:closedir($dir_handle);29:rmdir($目录名);30:return$dirName.'该目录已被删除';31:}32:}33:}34:/*传递测试目录test1的副本*/35:echodelDir('./test1');删除成功提示信息4.复制目录1:/*2:*复制目录3:*@paramstring$dirSrc原目录名4:*@paramstring$dirTo目标目录名5:*/6:functioncopyDir($dirSrc,$dirTo)7:{8:if(is_file($dirTo))9:{10:echo'无法创建目标目录';/*目标不是*/11:return;12:}13:if(!file_exists($dirTo))14:{15:/*如果目录不存在则创建目录*/16:mkdir($dirTo);17:}18:if($dir_handle=@opendir($dirSrc))19:{20:while($fileName=readdir($dir_handle))21:{22:/*排除两个特殊目录*/23:if($fileName!='.'&&$fileName!='..')24:{25:$subSrcFile=$dirSrc.'/'.$文件名;26:$subToFile=$dirTo.'/'.$fileName;27:如果(is_file($subSrcFile))28:{29:复制($subSrcFile,$subToFile);30:}31:if(is_dir($subSrcFile))32:{33:copyDir($subSrcFile,$subToFile);34:}35:}36:}37:closedir($dir_handle);38:return$dirSrc.'目录已经复制到'.$dirTo.'目录下;39:}40:}41:echocopyDir('./test','../testcopy');
