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


Find files in folders and subfolders that were created on the current date

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

$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/>'; }
}

首先,关于函数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;
    }
}

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

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

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