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

3

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

目录路径为:c:/files/

我希望删除该目录下所有子目录(例如):

c:/files/something/something/something/

c:/files/another-something/

最终,c:/files/只剩下了(为空且没有子目录)。 rmdir()仅删除给定路径中的最后一个目录...所以我猜我需要循环? :/
非常感谢所有帮助。
(附注:子目录不包含任何文件)
2个回答

5

摘自PHP手册中的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); 
   } 
 }

这个问题可以通过递归来解决。


-1

我想你正在寻找 RMDIR /S

例如,以下命令将删除目录 C:\blah 及其包含的所有子目录和文件。不会显示提示。

RMDIR c:\blah /s /q


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接