PHP自动删除指定时间以前所有文件或图片

发布时间:2020-04-15 21:55:47 浏览量:0 来源:谷歌测速网

在用PHP做文件或图片上传时,有时一些图片是没有用的,或过一段时间想自动清理以前图片或文件,以便节省空间。在每次执行上传图片前删除指定时间以前的所有文件。

看代码:

/*
* 删除文件夹下$n分钟前创建的文件
* @param $dir 要处理的目录,物理路径,结尾不加\
* @param $n 过期时间,单位为分钟
* @return void
*/
private function del_file_by_time($dir,$n)
{
   if(is_dir($dir)){
       if($dh=opendir($dir)){
           while (false !== ($file = readdir($dh))){
               if($file!="." && $file!=".."){
                   $fullpath=$dir."/".$file;
                   if(!is_dir($fullpath)){
                       $filedate=filemtime($fullpath);
                       $minutes=round((time()-$filedate)/60);
                       if($minutes>$n)
                           unlink($fullpath); //删除文件
                   }
               }
           }
       }
       closedir($dh);
   }
}

调用:

self::del_file_by_time(WEB_ROOT.'/upload/base64/',1);//删除一分钟以前所有文件