当前位置: 首页 > 编程笔记 >

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

周鸿光
2023-03-14
本文向大家介绍php判断并删除空目录及空子目录的方法,包括了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程序设计有所帮助。

 类似资料:
  • 嗨,当我想删除空目录时,我遇到以下错误: 警告:rmdir():目录不为空 功能: 当有文件时,它会在没有警告的情况下删除所有文件(也应该删除文件夹)

  • 问题内容: 在我的Node应用程序中,我需要删除一个包含一些文件的目录,但仅适用于空目录。我怎样才能做到这一点? 问题答案: 为此有一个名为(https://npmjs.org/package/rimraf)的模块。它提供的功能与 异步 用法: 同步 使用情况:

  • 本文向大家介绍PHP删除指定目录中的所有目录及文件的方法,包括了PHP删除指定目录中的所有目录及文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP删除指定目录中的所有目录及文件的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。

  • 和 mkdir 命令(创建空目录)恰好相反,rmdir(remove empty directories 的缩写)命令用于删除空目录,此命令的基本格式为: [root@localhost ~]# rmdir [-p] 目录名 -p 选项用于递归删除空目录。 【例 1】 [root@localhost ~]#rmdir cangls 就这么简单,命令后面加目录名称即可,但命令执行成功与否,取决于要删

  • 本文向大家介绍php删除指定目录的方法,包括了php删除指定目录的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php删除指定目录的方法。分享给大家供大家参考。具体分析如下: 这段代码可实现递归删除子目录的功能 希望本文所述对大家的php程序设计有所帮助。

  • 我正在创建一个允许调整gif大小的小类。为此,我创建了一个包含所有帧的临时目录,调整它们的大小,然后再次创建gif。 创建gif后,我想删除我的临时目录。但一旦我的所有文件都被删除,我就会出现以下错误: 警告:目录不为空 这是我的密码: 这是我得到的: 正如您所看到的,没有隐藏文件,因为scandir没有返回任何文件<如你所见,我尝试了这个解决方案,但没有成功 我可以手动删除它,一旦代码完成,里面

  • 我正在创建一个目录,并在上面设置一个文件系统监视程序。然后我创建一个文件。所有这些都是在表单构造函数中完成的。在按钮事件处理程序中,我删除了上面创建的目录。有时它会抛出一个IOException:目录不是空的。在此之后,我甚至无法访问资源管理器中的子目录。我一直拒绝访问错误。我的进程退出后,此目录将被删除。AFAIK FileSystemWatcher不应锁定目录。 如何正确删除目录而不会卡住目录

  • 每当我试图使用它们来删除包含内容的dir时,我都会收到此错误消息 “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py”,removedirs rmdir(name)OSError:[Errno 66]目录中的第170行非空:“新文件” 然而,我认为我看到人们使用这些命令来删除不是空的目录,那么我做错了什么?谢