如何删除早于特定时间的文件/文件夹

4
我已经使用一个函数来删除特定文件夹中的所有文件和文件夹。
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分钟(例如)的文件和文件夹。
有一个名为'filetime'的php函数,它可以获取文件/文件夹的年龄,但我不知道如何专门删除早于“x”分钟的文件。

1个回答

11

这个结构将使用filemtime()函数删除超过60分钟(3600秒)的文件:

if (filemtime($object) < time() - 3600) {
  // Remove empty directories...
  if (is_dir($object)) rmdir($object);
  // Or delete files...
  else unlink($object);
}
请注意,对于rmdir()函数的使用,目录必须为空。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接