在目录php中显示最新图像

时间:2015-03-20 18:33:17

标签: php

我看了一下,但只能找到如何显示最新图像,或者只显示所有图像。  我需要显示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">';
?>

1 个答案:

答案 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'>";

?>