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

标签 php

我已经使用了一个功能来删除某个文件夹中的所有文件和文件夹。

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 函数“文件时间”,我相信它给出了文件/文件夹的年龄,但我不知道如何删除超过“x”分钟的特定文件。

最佳答案

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

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

请注意,要使 rmdir() 正常工作,目录必须为空。

关于php - 如何删除超过特定时间的文件/文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7573967/

相关文章:

php - 如何从 MySQL 表中获取当前年份之前的年份

javascript - 在模态上获取重复数据后,我可以使用编辑操作删除重复数据吗?

php - 在某些版本的 Chrome 中无法使用 Javascript 更改图像的 src

php - 连续Ajax GET时jscrollPane消失

javascript - 如何使用 Post 发送数据库将动态添加的表行表单值传递给 Javascript

php - 按产品选项值过滤产品(Mysql查询)

php - 使用 php 如何记住文本字段并使用 cookie 在下次访问该网站时显示它?

javascript - 在 javascript 函数中重定向,codeigniter

php - 如何将多次出现的子模式捕获到一次捕获中?

php - 如何确定重定向到 https 的位置