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


List all files added in last 24 hours

我最近在另一个论坛上发现了这个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];
}
?>

使用:

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;
}

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