這不是我的程式碼,但我想分享一下,因為我花了很長時間才找到。這是一個可以一次性清除資料夾、所有子資料夾和檔案的函式。
只需告訴它你想要刪除的目錄,相對於執行此函式的頁面而言。然後,如果你只想清空資料夾但不刪除它,請設定 `$empty = true`。如果你設定 `$empty = false`,或直接省略不寫,則指定的目錄也會被刪除。
<?php
function deleteAll($directory, $empty = false) {
if(substr($directory,-1) == "/") {
$directory = substr($directory,0,-1);
}
if(!file_exists($directory) || !is_dir($directory)) {
return false;
} elseif(!is_readable($directory)) {
return false;
} else {
$directoryHandle = opendir($directory);
while ($contents = readdir($directoryHandle)) {
if($contents != '.' && $contents != '..') {
$path = $directory . "/" . $contents;
if(is_dir($path)) {
deleteAll($path);
} else {
unlink($path);
}
}
}
closedir($directoryHandle);
if($empty == false) {
if(!rmdir($directory)) {
return false;
}
}
return true;
}
}
?>