Я использую rmdir () в PHP на Windows для рекурсивного удаления структуры папок.Он удаляет все содержимое папки нормально, но оставляет базовую папку в «недоступном» состоянии.Мне все еще нужно удалить эту папку вручную, хотя система говорит, что она не может быть найдена.Каким-то образом сам процесс «удаления» напоминает ОС, что она должна фактически удалить его.
Вот мой код с комментариями к источникам:
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, а также Папка Iterator Thing .Они также не работали.
И вот ошибка, когда я дважды щелкаю по папке с призраками:
Как можно решить эту проблему?Это мой код или ОС, которая портит?