步驟:
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 {} \;
查看本欄目