我看了一下,但只能找到如何显示最新图像,或者只显示所有图像。 我需要显示5个最新图像。谢谢
我当前显示1张图片的代码是
<?php
$dir = 'images/other';
$base_url = '/images/other';
$newest_mtime = 0;
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if (($file != '.') && ($file != '..')) {
$mtime = filemtime("$dir/$file");
if ($mtime > $newest_mtime) {
$newest_mtime = $mtime;
$show_file = "$base_url/$file";
}
}
}
}
print '<img src="' .$show_file. '" alt="code">';
?>
答案 0 :(得分:1)
这应该适合你:
(首先,我使用glob()
获取所有文件,然后按照filemtime()
和usort()
的最后一次修改对其进行排序。之后,我使用array_slice()
得到最新的5个。最后,我只是循环遍历它们并打印图像)
<?php
$dir = "images/other";
$files = glob($dir . "/*.*");
usort($files, function($a, $b){
return (filemtime($a) < filemtime($b));
});
$files = array_slice($files, 0, 5);
foreach($files as $file)
echo "<img src='" . $file. "' alt='code'>";
?>