<?php /** * @desc 解析當前目錄並遞歸刪除目錄下的指定文件 * @author mengdj<mengdj@outlook.com> 2014.10.02 1530 */ //定義腳本持續執行直到退出爲止 set_time_limit(0); ignore_user_abort(true); $global_filter=array("html","css","php","htm","txt","inc","js","vbs"); $global_filter&&$global_filter=array_flip($global_filter); //獲取文件後綴 if(!function_exists("get_extension")){ function get_extension($file){ return substr($file,strrpos($file,'.')+1); } } //遞歸刪除空目錄 if(!function_exists("rm_empty_dir")){ 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){ echo ($curfile)." D<br/>"; @rmdir($curfile); } } } } closedir($handle); } } } //遞歸刪除指定文件類型 if(!function_exists("scan_dirs")){ function scan_dirs($baseDir){ global $global_filter; if($file_handler=opendir($baseDir)){ while(($file=readdir($file_handler))!==false){ if($file!='.'&&$file!='..'){ if(!is_dir($baseDir."/".$file)){ if($file!="scan.php"&&array_key_exists(strtolower(get_extension($baseDir."/".$file)),$global_filter)){ echo $baseDir."/".$file."<br/>"; @unlink($baseDir."/".$file); //檢測是否爲爲空目錄 } }else{ $dirname = $baseDir."/".$file; scan_dirs($dirname); } } } //判斷目錄是否爲空 rm_empty_dir($baseDir); closedir($file_handler); } } } $baseDir="."; isset($_GET['dir'])&&$baseDir=trim($_GET['dir']); scan_dirs($baseDir); ?>
相關文檔:php服務器端清理無效軟連接php