Php 如何使最后上载的图像在foreach循环中首先显示

Php 如何使最后上载的图像在foreach循环中首先显示,php,loops,foreach,Php,Loops,Foreach,我有一个显示上传图像的代码: <?php $dir = "img/*.jpg"; $images = glob( $dir ); foreach( $images as $image ): echo "<img src='" . $image . "' />"; endforeach; ?> 但我需要我最后上传的图像出现在第一行。我知道它就在我面前,但我看不见它。我该怎么做呢?在您的foreach之前尝试一下 <?php $dir =

我有一个显示上传图像的代码:

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

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

但我需要我最后上传的图像出现在第一行。我知道它就在我面前,但我看不见它。我该怎么做呢?

在您的
foreach
之前尝试一下

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

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

endforeach;

?>

在您的
foreach
之前尝试

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

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

endforeach;

?>

更安全的方法是使用
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;

?>

更安全的方法是使用
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;

?>


工作起来很有魅力。非常感谢。一定要接受你认为最好的答案!如果通过gui更改了文件顺序,或者如果目录对我的名字进行了排序,那么这就不起作用了。显然有计时器在响。第一次在这里发帖。工作很有魅力。非常感谢。一定要接受你认为最好的答案!如果通过gui更改了文件顺序,或者如果目录对我的名字进行了排序,那么这就不起作用了。显然有计时器在响。第一次在这里发布。filemsort()?这是你的职责吗?因为它不存在。我尝试了你的方法,但现在没有显示任何图像。修复了一个键入错误,my badfilemsort()?这是你的职责吗?因为它不存在。我试过你的方法,但现在没有一个图像显示出来。修复了一个打字错误,我的坏