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