如何使最后上传的图像首先出现在foreach循环中

时间:2016-09-18 16:04:57

标签: php loops foreach

我有此代码显示上传的图片:

<?php    
$dir = "img/*.jpg";
$images = glob( $dir );

foreach( $images as $image ):
    echo "<img src='" . $image . "' />";
endforeach;
?>

但我需要将我上次上传的图片排在第一位。我知道它就在我面前,但我看不到它。我该怎么做?

2 个答案:

答案 0 :(得分:2)

foreach之前尝试reversing the array

<?php    
$dir = "img/*.jpg";
$images = glob( $dir );
$images = array_reverse($images);
foreach( $images as $image ):

echo "<img src='" . $image . "' />";    

endforeach;

?>

答案 1 :(得分:2)

更安全的选择是使用filemtime()函数来获取每个文件的修改时间并根据它进行排序。看到这段代码:

<?php    
$dir = "img/*.jpg";
$images = glob( $dir );

//Add this portion
foreach( $images as $image ) {
    $imagesModTimeArray[filemtime($image)] = $image;
}
krsort($imagesModTimeArray);
$images=array_values(imagesModTimeArray);
//New Portion End
foreach( $images as $image ):

echo "<img src='" . $image . "' />";    

endforeach;

?>