列出过去24小时内添加的所有文件

时间:2013-10-12 11:49:28

标签: php

我最近在另一个论坛上发现了这个PHP脚本 - 它应该将所有文件放在一个数组中从最新到最旧的指定目录中,然后通过执行array [0]返回最新的文件。

是否有任何方法可以应用此脚本来获取过去24小时内的所有文件?

预先感谢您提供任何帮助,以下是代码:

<?php
$path = "docs/";
// show the most recent file
echo "Most recent file is: ".getNewestFN($path);

// Returns the name of the newest file 
// (My_name YYYY-MM-DD HHMMSS.inf)
function getNewestFN ($path) {
// store all .inf names in array
$p = opendir($path);
while (false !== ($file = readdir($p))) {
if (strstr($file,".inf"))
$list[]=date("YmdHis ", filemtime($path.$file)).$path.$file; 
}
// sort array descending
rsort($list);
// return newest file name
return $list[0];
}
?>

1 个答案:

答案 0 :(得分:2)

使用:

print_r( get_24h_files('docs/') );

<强>功能:

function get_24h_files($dir) {
    $iterator = new DirectoryIterator($dir);
    $before_24h = strtotime('-24 hour');
    $files = array();
    foreach ($iterator as $fileinfo) {
        if ($fileinfo->isFile() && $fileinfo->getMTime() >= $before_24h) {
            $files[] = $fileinfo->getFilename();
        }
    }
    return $files;
}

P.S。如果您只需要.inf个扩展名,请将$fileinfo->getExtension() == 'inf'添加到if语句中。