如何删除超过特定时间的文件/文件夹

问题描述:

我已经使用某个功能删除某个文件夹内的所有文件和文件夹。如何删除超过特定时间的文件/文件夹

function rrmdir($dir) { 
    if (is_dir($dir)) { 
     $objects = scandir($dir); 
     foreach ($objects as $object) { 
      if ($object != "." && $object != "..") { 
       if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object); 
      } 
     } 
     reset($objects); 
     rmdir($dir); 
    } 
} 

我现在想要做的是:使该功能适应只删除超过60分钟(例如)的文件和文件夹。

有一个php函数'filetime',我相信它给出文件/文件夹的年龄,但我不知道如何删除特定的文件比“x”分钟更早。

+0

可能的重复[如何从基于创建日期在php中删除目录中的文件?](http://*.com/questions/2205738/how-to-delete-files-from-directory-based-on-创建日期功能于PHP) – Gordon

此结构将删除的文件使用filemtime()功能超过60分钟(3600秒):

if (filemtime($object) < time() - 3600) { 
    // Remove empty directories... 
    if (is_dir($object)) rmdir($object); 
    // Or delete files... 
    else unlink($object); 
} 

注意,对于rmdir()工作,该目录必须是空的。