编程语言
首页 > 编程语言> > 删除PHP中指定目录内的所有子目录?

删除PHP中指定目录内的所有子目录?

作者:互联网

如何删除指定目录中的所有子目录?

目录是c:/ files /

我想删除其子目录中的所有子目录(示例):

c:/files/something/something/something/

c:/files/another-something/

因此最后c:/ files /仍然保留(为空,没有子目录).

rmdir()只删除给定路径中的最后一个目录…所以我想我必须循环吗? :/

所有帮助表示赞赏.

(PS:子目录不包含任何文件)

解决方法:

取自PHP manual entry for rmdir

 function rrmdir($dir) { 
   if (is_dir($dir)) { 
     $objects = scandir($dir); 
     foreach ($objects as $object) { 
       if ($object != "." && $object != "..") { 
         if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object); 
       } 
     } 
     reset($objects); 
     rmdir($dir); 
   } 
 }

这就解决了使用递归的问题.

标签:while-loop,rmdir,php
来源: https://codeday.me/bug/20191208/2089865.html