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);
這段代碼會遞歸地刪除文件夾中的所有文件和子文件夾,然后再刪除空文件夾本身。