You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PHP按最后修改时间对图片进行排序?

实现图库图片按从新到旧排序的解决方案

你可以通过filemtime()获取每个图片文件的最后修改时间,自定义排序规则对文件列表进行倒序排列即可实现需求,原代码中存在两次读取目录的冗余逻辑,优化后代码如下:

<?php
// 匹配Pictures目录下的常用格式图片,避免匹配到非图片文件
$files = glob("Pictures/*.{jpg,jpeg,png,gif,webp}", GLOB_BRACE);

// 按文件修改时间从新到旧排序
usort($files, function($a, $b) {
    // 后修改的文件时间戳更大,排在前面
    return filemtime($b) - filemtime($a);
});

// 遍历输出图片
foreach ($files as $image) {
    print $image ."<br />";
    echo '<img src="'.$image .'" alt="图片" />'."<br /><br />";
}
?>

注意事项

  • 如果你需要按文件创建时间排序:Windows环境可以将filemtime()替换为filectime();Linux环境需要使用PHP 8.0及以上版本的filebirthtime()函数才能获取正确的文件创建时间
  • 使用foreach遍历文件列表比原代码的for计数遍历写法更简洁,不需要手动维护索引计数

内容的提问来源于stack exchange,提问作者Craig E

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:15:03