gpt4 book ai didi

php - 如何删除非空目录?

转载 作者:IT王子 更新时间:2023-10-29 00:53:08 25 4
gpt4 key购买 nike

我正在尝试使用 rmdir 删除目录,但我收到了“目录不是空的”消息,因为其中仍有文件。

我可以使用什么函数来删除包含所有文件的目录?

最佳答案

没有内置函数可以执行此操作,但请参阅 http://us3.php.net/rmdir 底部的注释.许多评论者发布了他们自己的递归目录删除功能。您可以从中挑选。

这是 one that looks decent :

function deleteDirectory($dir) {
if (!file_exists($dir)) {
return true;
}

if (!is_dir($dir)) {
return unlink($dir);
}

foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') {
continue;
}

if (!deleteDirectory($dir . DIRECTORY_SEPARATOR . $item)) {
return false;
}

}

return rmdir($dir);
}

如果你想让事情变得简单,你可以只调用 rm -rf。这确实使您的脚本仅适用于 UNIX,因此请注意这一点。如果你走那条路,我会尝试类似的东西:

function deleteDirectory($dir) {
system('rm -rf -- ' . escapeshellarg($dir), $retval);
return $retval == 0; // UNIX commands return zero on success
}

关于php - 如何删除非空目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1653771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com