0

我有一个程序可以从目录中获取所有图像,这里是代码:

$dir = dir("tags/carrot_cake");
while($filename=$dir->read()) {

    if($filename == "." || $filename == ".." ||  $filename == $first_image) continue;

     echo "<img src='tags/carrot_cake/".$filename."'class='img_235x235' />

如何查看图像日期并首先获取最新图像?谢谢!

4

1 回答 1

2

您可以使用 filemtime() 函数来查找每个文件的修改日期。这可以用作在循环中处理数组之前使用 uksort() 对数组进行排序的键。

这将使数组按文件修改时间的升序排列,即那些最早的mtime在前。然后,您可以反转数组,或向后迭代它。

<?php
    function mtimecmp($a, $b) {
        $mt_a = filemtime($a);
        $mt_b = filemtime($b);

        return ($mt_a == $mt_b) ? 0 : (($mt_a < $mt_b) ? -1 : 1);
    }

    $dirname = "tags/carrot_cake";
    $images = glob($dirname."*.jpg");
    usort($images, "mtimecmp");
    array_reverse($images);

    foreach ($images as $image) {
        echo '<img src="tags/carrot_cake/'.$image.'" class="img_235x235"/><br />';
    }
?>
于 2013-09-30T06:58:39.450 回答