PHP - 如何测试/检查目录/文件夹是否包含旧文件/文件早于?

标签 php performance file directory last-modified

奇怪的是,当我尝试用谷歌搜索这个问题时,输入与这个问题类似的查询,没有任何有用的信息弹出,甚至没有关闭。

现在我不是在寻找扫描或打开目录并逐个文件读取其内容的解决方案。对于那些寻找这种不可靠循环的人,请检查这些函数: scandir(...)一次加载所有然后循环它,和opendir(...) , readdir(...) , stat(...)['mtime']一个文件一个文件地做,并可能对完成的数量设置一些限制,并使其至少更安全一些......

我想知道的是 PHP 中是否有一些东西可以以某种简单的方式检查/测试文件夹/目录是否包含早于 [sometime] 的文件,或者甚至有多少这样的文件没有任何一种“手动”检查?

PS:我见过一些 shell_exec,但这似乎不太跨操作系统...

最佳答案

显然没有内置函数可以做到这一点,因为这太具体了。您将不得不以一种或另一种方式自己完成,就像您非常喜欢的那些 shell 函数在内部执行一样。

编写一个函数来执行此操作,以便您可以在需要的地方使用它。自然而然,PHP 提供了一系列函数,使整个事情变得更小,而且可能更快。例如,您可以这样做:

function folder_has_older_file($folder, $time)
{
    return count(array_filter(array_map('filemtime', glob("$folder/*")), function ($a) use ($time) { return $a < $time; })) > 0;
}

关于PHP - 如何测试/检查目录/文件夹是否包含旧文件/文件早于?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40902536/

相关文章:

performance - 经典ASP页面的性能测试?

mysql - 使用 select count(*) 更新查询速度较慢

Linux 文件追加操作

php - 在 Codeigniter/PHP 中显示类别

php - 在 Symfony 中,我应该将自定义类放在哪个目录中?

php - mySQL AVG - 一种为 AVG 合并两个结果的方法

excel - 带文件路径的间接函数

javascript - fullcalendar 检索事件(抛出 php)日历未加载

node.js - 如何在 Node mongodb游标上批量处理文档而不超时

file - 将 p 值写入 R 中的文件