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

new*_*php 3 php while-loop rmdir

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

目录是c:/files/

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

c:/files/something/something/something/

c:/files/another-something/
Run Code Online (Sandbox Code Playgroud)

所以最终 c:/files/ 仍然存在(为空且没有子目录)。

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

感谢所有帮助。

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

Dav*_*nan 5

摘自rmdir 的 PHP 手册条目

 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); 
   } 
 }
Run Code Online (Sandbox Code Playgroud)

这使用递归解决了问题。