php判断并删除空目录及空子目录的方法


本文实例讲述了php判断并删除空目录及空子目录的方法。分享给大家供大家参考。具体实现方法如下:

步骤如下:

1.遍历目录及子目录
2.使用 scandir 判断目录是否为空,为空则使用rmdir 删除。

<?php 
/** 删除所有空目录 
* @param String $path 目录路径 
*/ 
function rm_empty_dir($path){ 
  if(is_dir($path) && ($handle = opendir($path))!==false){ 
    while(($file=readdir($handle))!==false){// 遍历文件夹 
      if($file!='.' && $file!='..'){ 
        $curfile = $path.'/'.$file;// 当前目录 
        if(is_dir($curfile)){// 目录 
          rm_empty_dir($curfile);// 如果是目录则继续遍历 
          if(count(scandir($curfile))==2){//目录为空,=2是因为.和..存在
            rmdir($curfile);// 删除空目录 
          } 
        } 
      } 
    } 
    closedir($handle); 
  } 
} 
$folder = '目标文件夹'; 
rm_empty_dir($folder); 
?> 

使用 shell 则简单很多:

find 目标文件夹 -mindepth 1 -depth -empty -type d -exec rm -r {} \;

希望本文所述对大家的php程序设计有所帮助。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3