//*****************************************************************//
//函数名:del_dir($dir)
//作用:采用递归删除目录以及下级目录和文件
//参数:$dir 指定删除目录的路径
//返回值:true/false
//*****************************************************************//
function del_dir($dir) {
$dirhandle=opendir($dir);
while($file_name=readdir($dirhandle)) {
        if ($file_name!="." && $file_name!="..") {
                if (is_dir($dir.'/'.$file_name)) {
                     del_dir($dir."/".$file_name);
                     rmdir($dir.'/'.$file_name);
                } 
else unlink($dir.'/'.$file_name);
}
    }
closedir($dirhandle);
rmdir($dir);
return (!is_dir($dir));
}

解决方案 »

  1.   

    <?php
    //递归函数
    function cleanFiles($dirname,$expire){
         if(!file_exists($dirname)||!is_dir($dirname)){
             trigger_error("目录不存在");
         }
         $hd=opendir($dirname);
         while(false!==($file=readdir($hd))){
             if($file!="."&&$file!=".."){
                $files=$dirname."/".$file;
                if(is_dir($files)){
                    cleanFiles($files,$expire);//如果是目录,继续下一级
        }
        else if(is_file($files)){
                    $ltime=time(0)-filectime($files);
                    if($ltime>$expire){
                        @unlink($files);//删除文件
            }
        }
     }
         }
         closedir($hd);
    }cleanFiles("gb",150*60);
    ?>