2

你知道php中是否有一个函数可以找到给定目录中的所有文件,这些文件是在最后一分钟(或者在任何情况下在指定时间创建的?)。例如,要选择一个目录中最近 10 分钟创建的所有 txt 文件。

我希望我的意思很清楚!

谢谢 D。

4

4 回答 4

2

没有这样的创建时间,只有修改时间,它可以跨操作系统可靠地工作。

PHP 中的 filectime() 和 filemtime() 文件系统函数将允许您检查文件上次更改的时间。

它将返回一个时间戳,该时间戳保存文件上次更改的时间值


您可以遍历文件夹中的文件,同时检查filemtime(). 就像是,

foreach (glob("*.txt") as $filename) {
    echo filemtime($filename); //echoes timestamp
}
于 2012-11-10T17:27:59.543 回答
1

获取目录中的所有文件,循环它们并应用filetime()函数来查看它们何时被创建/修改。将它们复制到另一个数组并随心所欲地处理它们。

于 2012-11-10T17:27:46.940 回答
1

你可以试试

$it = new GlobIterator(__DIR__ . "/*.txt");
$last10mis = 600;
$list = array();
foreach ( $it as $file )
    (time() - $file->getMTime()) <= $last10mis and $list[] = strval($file);

var_dump($list); // all txt files modified in the last 10mins
于 2012-11-10T18:12:38.013 回答
0

PHP 中有一个名为 filemtime 的函数,它将以 UNIX 时间戳返回修改后的时间。 http://php.net/manual/en/function.filemtime.php

从那里开始,在该页面上的示例中,它应该相当简单地适用于您的需求。

于 2012-11-10T17:27:39.810 回答