PHP的rmdir函数只能删除空文件夹,如果文件夹中有文件或子文件夹,则无法删除。为了删除非空文件夹,可以使用以下方法:
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);
}
// 使用方法
$dir = 'path_to_directory';
deleteDirectory($dir);
这段代码会递归地删除文件夹中的所有文件和子文件夹,然后再删除空文件夹本身。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:如何用php rmdir删除文件夹