Php 如何排序我的图像-最新的在顶部

Php 如何排序我的图像-最新的在顶部,php,image,Php,Image,我在YT上找到了一个php代码来显示目录中的图像。 一切都很完美,但我需要在顶部显示最新的照片。 有人能帮我吗 <?php $dir = 'foto'; $file_display = array('jpg', 'jpeg'); if (file_exists($dir) == false) { echo 'Gallery \'', $dir, '\' not found!'; } else { $dir_contents

我在YT上找到了一个php代码来显示目录中的图像。 一切都很完美,但我需要在顶部显示最新的照片。 有人能帮我吗

<?php
    $dir = 'foto';
    $file_display = array('jpg', 'jpeg');

    if (file_exists($dir) == false) {
        echo 'Gallery \'', $dir, '\' not found!';
    } else {
        $dir_contents = scandir($dir);

        foreach ($dir_contents as $file) {
            $file_type = strtolower (end(explode('.', $file)));

            if ($file !== '.' && $file !== '..' && in_array($file_type, $file_display) == true) {
                echo '<div id="', $file,  '"><img src="', $dir, '/', $file, '" alt="', $file, '" /></div>';
            }
        }
    }
?>

我认为您需要按日期对图像进行排序。有人在这里编写了另一个
scandir()
函数的变体:

您可以获得该函数并更改
$dir\u contents=scandir($dir)收件人:
$dir\u contents=scan\u dir($dir)在您的代码中。

更少的代码:

array_multisort((
    array_map(
        'filemtime', ($files = glob(
            "$dir/*.{jpg,jpeg}", GLOB_BRACE)))), SORT_DESC, $files);
  • 特定文件的Glob并存储在
    $files
  • 获取每个文件的文件修改时间,并按时间排序
    $files

foreach
打开
$files
并显示。

我认为您需要查看PHP filemtime函数,以便提取文件的修改日期-我认为仅使用scandir是不可能的。然后在这里查找有关排序数组的信息,并将这些数组拼凑在一起,您应该能够做到这一点