作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
下面的代码是从给定目录中抓取 5 个图像文件的函数的一部分。
目前,根据 spec,readdir 返回图像“按照文件系统存储它们的顺序” .
我的问题是,如何修改它以获得最新的 5 张图像?基于 last_modified
日期或文件名(类似于 0000009-16-5-2009.png、0000012-17-5-2009.png 等)。
if ( $handle = opendir($absolute_dir) )
{
$i = 0;
$image_array = array();
while ( count($image_array) < 5 && ( ($file = readdir($handle)) !== false) )
{
if ( $file != "." && $file != ".." && $file != ".svn" && $file != 'img' )
{
$image_array[$i]['url'] = $relative_dir . $file;
$image_array[$i]['last_modified'] = date ("F d Y H:i:s", filemtime($absolute_dir . '/' . $file));
}
$i++;
}
closedir($handle);
}
最佳答案
如果您想完全用 PHP 完成此操作,则必须找到所有文件及其最后修改时间:
$images = array();
foreach (scandir($folder) as $node) {
$nodePath = $folder . DIRECTORY_SEPARATOR . $node;
if (is_dir($nodePath)) continue;
$images[$nodePath] = filemtime($nodePath);
}
arsort($images);
$newest = array_slice($images, 0, 5);
关于php - 如何从 PHP 中的目录获取 X 个最新文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1018080/
我是一名优秀的程序员,十分优秀!