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

这篇文章主要介绍了php判断并删除空目录及空子目录的方法,可实现遍历目标文件夹判断是否为空及删除空目录的功能,非常具有实用价值,需要的朋友可以参考下

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

步骤如下:

1.遍历目录及子目录

2.使用 scandir 判断目录是否为空,为空则使用rmdir 删除。

  1. <?php
  2. /** 删除所有空目录
  3. * @param String $path 目录路径
  4. */
  5. function rm_empty_dir($path){
  6. if(is_dir($path) && ($handle = opendir($path))!==false){
  7. while(($file=readdir($handle))!==false){// 遍历文件夹
  8. if($file!='.' && $file!='..'){
  9. $curfile = $path.'/'.$file;// 当前目录
  10. if(is_dir($curfile)){// 目录
  11. rm_empty_dir($curfile);// 如果是目录则继续遍历
  12. if(count(scandir($curfile))==2){//目录为空,=2是因为.和..存在
  13. rmdir($curfile);// 删除空目录
  14. }
  15. }
  16. }
  17. }
  18. closedir($handle);
  19. }
  20. }
  21. $folder = '目标文件夹';
  22. rm_empty_dir($folder);
  23. ?>

使用 shell 则简单很多:

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