PHP目录操作
2018-07-20 来源:open-open
<?php //basename() 返回路径中的文件名部分 $path="D:/lamp/apache2/htdocs/file.php"; echo basename($path)."<br>"; //显示带有文件扩展名的文件名 echo basename($path,'php')."<br>"; //显示不带文件扩展名的文件名 //dirname() 去掉文件名,返回目录名 echo dirname($path)."<br>"; //返回目录名 //pathinfo() 返回一个关于路径属性的数组 print_r(pathinfo($path))."<br>"; //opendir() 打开指定的目录 //readdir() 读取指定的目录 //closedir() 关闭指定的目录 //rewinddir() 倒回目录句柄 /* *下面的代码来统计一个目录下的文件 */ $num=0; //用来统计子目录和文件的总个数 $dirname="pm3"; //定义一个目录,即需要遍历的目录 $dir_handle=opendir($dirname); //打开目录 //将遍历的内容和文件名使用表格格式输出 echo "<table border='0' align='center' width='600' cellspacing='0' cellpadding='0'>"; echo "<caption><h2>目录".$dirname."下的内容</h2></caption>"; echo "<tr align='left' bgcolor='#cccccc'>"; echo "<th>文件名</th><th>文件大小</th><th>文件类型</th><th>修改时间</th></tr>"; while($file=readdir($dir_handle)){ //循环读取目录里的内容,知道最后 $dirFile=$dirname."/".$file; //使用目录名和文件名链接起来,这样在下面的filetype当中才能使用 if($num++%2==0){ //通过单复数来实现隔行变色 $bgcolor="#ffffff"; }else{ $bgcolor="#cccccc"; } echo "<tr bgcolor='".$bgcolor."'>"; echo "<td>".$file."</td>"; //输出文件名 echo "<td>".filesize($dirFile)."</td>"; //输出文件大小 echo "<td>".filetype($dirFile)."</td>"; //输出文件类型 echo "<td>".filemtime($dirFile)."</td>"; //输出文件的修改时间 echo "</tr>"; } echo "</table>"; closedir($dir_handle); echo "<b>在目录".$dirname."下共有".$num."个文件</b><br>"; //disk_free_space() disk_total_space() 统计磁盘大小 /* *自定义一个递归函数,统计传入目录文件的大小 */ function dirSize($directory){ $dir_size=0; //定义一个整形的变量,用来累加每个文件的大小从而计算目录的大小 if($dir_handle=opendir($directory)){ //打开目录 while($fileName=readdir($dir_handle)){ //循环读取目录中的文件 if($fileName!="." && $fileName!=".."){ //一定要排除掉两个特殊的目录 $subFile=$directory."/".$fileName; //将文件名和目录名连接 if(is_dir($subFile)){ //判断子文件是否是目录 $dir_size+=dirSize($subFile); //如果是目录,继续向下循环 } if(is_file($subFile)){ //判断是否是普通文件 $dir_size+=filesize($subFile); //获取文件的大小,并和前面的文件大小累加 } } } } closedir($dir_handle); //关闭目录的句柄 return $dir_size; } $dir_size=dirSize("pm3"); echo "目录pm3的大小是:".round($dir_size/pow(1024,2),2)."MB"; //输出目录的大小 /* *自定义一个删除目录的递归函数 */ //unlink() 将目录中的文件删除掉 function delDir($directory){ if(file_exists($directory)){ //判断目录是否存在 if($dir_handle=opendir($directory)){ //打开目录 while($fileName=readdir($dir_handle)){ //循环读取目录下的文件 if($fileName!="." && $fileName!=".."){ //一定要排除两个特殊文件,否则你会后悔的 $subFile=$directory."/".$fileName; //把文件名和目录名连接起来 if(is_dir($subFile)){ //如果是目录,继续执行本身 delDir($subFile); } if(is_file($subFile)){ //如果是普通文件,直接删除 unlink($subFile); } } } closedir($dir_handle); //关闭句柄 rmdir($directory); //运行到这的已经是空目录了,直接删除 } } } //delDir("pm4"); /* *自定义一个复制或移动目录的递归函数 */ //copy() 复制一个普通的文件 //mkdir() 创建一个目录 function copyDir($directory,$dirTo){ //两个参数,一个是源目录,一个是目标目录 if(is_file($dirTo)){ //判断如果目标是一个普通文件,则直接退出方法 echo "目标不是一个目录,无法完成复制"; return; } if(!file_exists($dirTo)){ //判断如果目录不存在,则创建该目录 mkdir($dirTo); } if($dir_handle=opendir($directory)){ while($fileName=readdir($dir_handle)){ if($fileName!="." && $fileName!=".."){ $subFile=$directory."/".$fileName; $subToFile=$dirTo."/".$fileName; if(is_dir($subFile)){ copyDir($subFile,$subToFile); } if(is_file($subFile)){ copy($subFile,$subToFile); } } } closedir($dir_handle); } } copyDir("pm3","pm4"); ?>
标签: 代码
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:实现中文圆形印章的PHP类
下一篇:php根据词频生成tag云
最新资讯
热门推荐