如何用rmdir
刪除目錄?如何使用rmdir刪除Windows目錄?
該目錄爲空,但我無法刪除/刪除它。
$root_dir = "C:/xampp/htdocs/";
$dir = $root_dir.'tmp/';
rmdir($dir);
如何用rmdir
刪除目錄?如何使用rmdir刪除Windows目錄?
該目錄爲空,但我無法刪除/刪除它。
$root_dir = "C:/xampp/htdocs/";
$dir = $root_dir.'tmp/';
rmdir($dir);
function removedir($dirname)
{
if (is_dir($dirname))
$dir_handle = opendir($dirname);
if (!$dir_handle)
return false;
while($file = readdir($dir_handle)) {
if ($file != "." && $file != "..") {
if (!is_dir($dirname."/".$file))
unlink($dirname."/".$file);
else
{
$a=$dirname.'/'.$file;
removedir($a);
}
}
}
closedir($dir_handle);
rmdir($dirname);
return true;
}
如果權限是不是一個問題,然後tmp目錄可能包含在它的文件。 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);
}
這使我重要的考慮因素愣了一會:確保你沒有chdir()
到要刪除的目錄,如果你這樣做了,chdir()
以前就可以了。您無法刪除Windows上的當前工作目錄。
謝謝,這是竊聽我。但是,有什麼選擇? –
只是'chdir()'在刪除之前的其他地方:) –
PHP和/或Apache有權刪除嗎? Windows權限比Unix上的權限要細緻得多。確保你有'error_reporting'一直到-1。 – Charles
檢查該文件夾的文件權限,也許你沒有正確的權限刪除它 – vodich
也許你有隱藏的文件,或者你沒有刪除權限? –