【问题标题】:Output files that are less than X old小于 X 旧的输出文件
【发布时间】:2014-02-06 20:56:16
【问题描述】:

我基本上试图只返回不到 1 天的文件。这里的帖子包含删除超过 X 天的文件。我希望返回少于 1 天的文件。我认为这就像添加 filemtime 一样简单,但它似乎不起作用。

function dirList ($directory){
   $results = array();
    $handler = opendir($directory);

    while ($file = readdir($handler)) {

        if ($file != '.' && $file != '..')
            $results[] = $file;
    }
    closedir($handler);
    return $results; }

我尝试过使用 filemtime 并将其添加到:

    if ($file != '.' && $file != '..' && filemtime($file) < time() - 86400)
            $results[] = $file;

这只是显示所有内容。

    if ($file != '.' && $file != '..' && filemtime($file) > time() - 86400)
            $results[] = $file;

什么都不显示。

【问题讨论】:

    标签: php time filemtime


    【解决方案1】:

    $file 是相对于$directory 的文件名,但filemtime 将相对于进程的当前目录解释它。您需要为filenmtime 提供正确的路径名:

    filemtime($directory . '/' . $file)
    

    【讨论】:

    • 啊,我明白了,我假设因为我打开了 $ 目录,所以 filemtime 将在该目录中执行。非常感谢。
    猜你喜欢
    • 2020-08-17
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-12
    • 2017-06-21
    • 2017-02-15
    相关资源
    最近更新 更多