如何刪除指定目錄內的所有子目錄?刪除PHP中指定目錄內的所有子目錄?
目錄是c:/files/
,我想刪除自己的(例如)中的所有子目錄:
c:/files/something/something/something/
c:/files/another-something/
那麼到底C:/文件/只保留(是空的,沒有子目錄)。
rmdir()
只刪除給定路徑中的最後一個目錄...所以我猜我不得不循環? :/
所有幫助表示讚賞。
(PS:子目錄不包含任何文件)
如何刪除指定目錄內的所有子目錄?刪除PHP中指定目錄內的所有子目錄?
目錄是c:/files/
,我想刪除自己的(例如)中的所有子目錄:
c:/files/something/something/something/
c:/files/another-something/
那麼到底C:/文件/只保留(是空的,沒有子目錄)。
rmdir()
只刪除給定路徑中的最後一個目錄...所以我猜我不得不循環? :/
所有幫助表示讚賞。
(PS:子目錄不包含任何文件)
從PHP manual entry for rmdir摘自:
function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
}
}
reset($objects);
rmdir($dir);
}
}
此使用遞歸解決問題。
我認爲你正在尋找RMDIR /S
例如,下面的命令將刪除目錄C:\blah
和其中包含的所有子目錄和文件。沒有提示將被顯示。
RMDIR c:\blah /s /q