<?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服务器端清理无效软链接