您的位置:首页 > 编程语言 > PHP开发

php清理当前目录下的指定文件和空目录(源码),建议服务器端执行

2014-10-06 15:32 183 查看
<?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服务器端清理无效软链接



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐