【问题标题】:Get filemtime for most recently updated file in folder获取文件夹中最近更新文件的文件时间
【发布时间】:2016-01-18 19:49:34
【问题描述】:

我有一个包含 4 个文件的文件夹,我想提取最近一个文件的最后修改时间(可能并不总是相同)。有什么好的方法吗?

【问题讨论】:

  • 遍历所有文件,保留最新修改时间的文件。最后显示结果。

标签: php filemtime


【解决方案1】:

使用DirectoryIterator 查找文件,然后简单地比较它们的修改时间。应该这样做:

$iterator = new DirectoryIterator('path/to/dir');

$mtime = -1;
$file;
foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        if ($fileinfo->getMTime() > $mtime) {
            $file = $fileinfo->getFilename();
            $mtime = $fileinfo->getMTime();
        }
    }
}

【讨论】:

    【解决方案2】:

    无需遍历目录 - filemtime 将适用于大多数服务器,(取决于您的配置):

    $LastMod = filemtime("/path/to/dir/.");
    

    需要最后一个点才能将目录视为文件并实际获取它的最后修改日期。

    【讨论】:

    • 根据服务器配置,目录上的 lastmod 将根据子文件进行更新...或不更新:(
    • 在 Ubuntu 服务器上使用 PHP7 获取文件夹的 filemtime 将导致 Warning: filemtime(): stat failed for [folder]
    猜你喜欢
    • 1970-01-01
    • 2023-02-22
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 2014-12-29
    • 2017-01-12
    • 1970-01-01
    相关资源
    最近更新 更多