查找在当前日期创建的文件夹和子文件夹中的文件

时间:2015-03-17 13:09:49

标签: php spl

我正在尝试查找今天创建的文件。我在其他帖子中找到了大部分答案,但不能完全正确。下面的代码回显了所有文件,而不仅仅是今天创建的文件。有什么建议?感谢。

$di = new RecursiveDirectoryIterator('/documents/listings');
foreach (new RecursiveIteratorIterator($di) as $filename => $file) 
{

    if (date ("m-d-Y", filemtime($file)) == date("m-d-Y")) 

    { echo $filename . '<br/>'; }

}

3 个答案:

答案 0 :(得分:1)

你的代码对我有用。请检查文件创建日期一次。或尝试更改您在过去创建的目录

答案 1 :(得分:1)

首先,关于函数filemtime,它返回:文件修改时间。
但也存在函数filectime,它返回:文件的inode更改时间。
我发现 filectime 更适合您的问题,但它确实会返回不仅今天创建的文件,而且还会返回今天编辑的文件。

我的代码:

<?php

$path = dirname(__FILE__);

$objects = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($path),
    RecursiveIteratorIterator::SELF_FIRST
);
foreach ($objects as $file => $object) {
    $basename = basename($file);
    if ($basename == '.' or $basename == '..') {
        continue;
    }
    if (is_dir($file)) {
        continue;
    }
    if (date('Y-m-d') === date('Y-m-d', filectime($file))) {
        echo $file . PHP_EOL;
    }
}

答案 2 :(得分:-1)

if (!is_dir($file) && date ("m-d-Y", filemtime($file)) == date("m-d-Y")) 

也许您只想显示没有目录的文件?试试这个条件。