如何在 PHP 中递归删除目录及其全部内容(文件 + 子目录)?
问题描述:
如何在 PHP 中删除目录及其全部内容(文件和子目录)?
How do I delete a directory and its entire contents (files and subdirectories) in PHP?
答
手册页中的用户贡献部分rmdir
包含一个不错的实现:
The user-contributed section in the manual page of rmdir
contains a decent implementation:
function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (is_dir($dir. DIRECTORY_SEPARATOR .$object) && !is_link($dir."/".$object))
rrmdir($dir. DIRECTORY_SEPARATOR .$object);
else
unlink($dir. DIRECTORY_SEPARATOR .$object);
}
}
rmdir($dir);
}
}