PHP中的rmdir无法处理空目录

时间:2011-09-02 09:13:02

标签: php

我正在尝试使用PHP删除目录。

我从内到外取消链接/删除所有文件/子目录,最后在现在空的顶级目录上调用rmdir。一切都按照计划进行,直到最后一次调用rmdir。 PHP警告该目录不是emtpy并拒绝删除它。但是,当我查看资源管理器中的目录时,它毕竟是空的。

我也尝试了一个众所周知的递归函数,结果相同。

操作系统是带有Xampp的Windows 7,并且对于任何相关元素都没有访问限制。

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

你能尝试一下这个吗?

<?php
$handle = opendir($dirpath);
//do whatever you need
closedir($handle)
rmdir($dirpath);
?>

答案 1 :(得分:1)

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);
   }
}