我正在使用下面的功能,但有时候某些文件没有被删除(例如json文件),这些文件可能正在其他应用程序中使用
如何改进删除过程以确保删除所有文件和父文件夹
private function removeDir($dir) {
if (!file_exists($dir))
return true;
if (!is_dir($dir))
return unlink($dir);
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..')
continue;
if (is_file($item))
return false;
if (!$this->removeDir($dir . DIRECTORY_SEPARATOR . $item))
return false;
}
if ($rm = rmdir($dir))
$this->logSuccess("Removed dir");
else
$this->logError("Could not delete folder: ");
return $rm;
}