PHP显示文件夹中的最新图像

时间:2015-01-28 10:36:26

标签: php

我想显示6个文件夹中的最新图片。 图像命名如下:20150126.jpg,20150127.jpg 它工作,但显示第一个目录中的所有图像,而不是第二个目录等。 如何混合它并显示最新的图像?

$directory = "*/";
$pictures = glob("" . $directory . "*.jpg");
$no_pictures = count($pictures)-1;  
$limit = $no_pictures-8;           
for( $i = $no_pictures; $i >= $limit; $i--){  
echo "<img width='300px' src=\"".$pictures[$i]."\" />\n"; 
}  

2 个答案:

答案 0 :(得分:1)

您可以通过查找$pictures数组来解决此问题。如果您希望最新版本位于顶部,则需要反向排序,或者保留输出。

看看sort()http://php.net/manual/en/function.sort.php

编辑:根据你的输出,我建议使用以下算法(虽然有多种方法可以做到):

  1. 仅从父目录获取目录列表。您可以将glob()与GLOB_ONLYDIR选项一起使用。
  2. 遍历从1获取的目录,并获取每个目录的文件名(无需其他路径信息)。首先使用文件名将文件合并到一个新数组中。它将具有某种格式化的字符串(您可以使用JSON或只使用一些简单的分隔符,如冒号)。例如,新数组将包含以下条目:20150126.jpg:ciazowe,20150127.jpg:event等。
  3. 对此数组进行排序。
  4. 输出&#34;向后&#34;和你一样,只有正确的路径信息。

答案 1 :(得分:0)

你应该看看类似建议的类型,还要看$ arr = array_slice($ arr,0,6);获得所需的6。