我在Windows上的PHP中使用rmdir()递归删除文件夹结构。它将删除文件夹中的所有内容,但是将基本文件夹置于“不可访问”状态。即使系统提示找不到该文件夹,我仍然必须手动删除该文件夹。某种程度上,“删除”操作使操作系统提醒它实际上需要将其删除。
这是我的代码,其中注释了源代码
function rrmdir($dir)
{
// Taken from:
// https://stackoverflow.com/a/3338133/6674014
if(is_dir($dir))
{
$objects = scandir($dir);
foreach($objects as $object)
{
if($object != "." && $object != "..")
{
if(is_dir($dir."/".$object))
$this->rrmdir($dir."/".$object);
else
{
// Added modification from comment attached to:
// https://stackoverflow.com/a/12148318/6674014
$objPath = $dir.'/'.$object;
chmod($objPath, 999);
unlink($objPath);
}
}
}
rmdir($dir);
}
}
我还使用了$ handle方法以及文件夹迭代器。这些也没有用。
如何解决此问题?是我的代码还是操作系统搞砸了?