步驟:
1.遍歷目錄及子目錄
2.使用 scandir 判斷目錄是否為空,為空則使用rmdir 刪除。
<?php
/** 刪除所有空目錄
* @param String $path 目錄路徑
*/
function rm_empty_dir($path){
if(is_dir($path) && ($handle = opendir($path))!==false){
while(($file=readdir($handle))!==false){ // 遍歷文件夾
if($file!='.' && $file!='..'){
$curfile = $path.'/'.$file; // 當前目錄
if(is_dir($curfile)){ // 目錄
rm_empty_dir($curfile); // 如果是目錄則繼續遍歷
if(count(scandir($curfile))==2){ // 目錄為空,=2是因為. 和 ..存在
rmdir($curfile); // 刪除空目錄
}
}
}
}
closedir($handle);
}
}
$folder = '目標文件夾';
rm_empty_dir($folder);
?>
使用 shell 則簡單很多:
find 目標文件夾 -mindepth 1 -depth -empty -type d -exec rm -r {} \;
查看本欄目