按照上传的订单的日期/时间而不是按字母顺序对图像进行排序 - PHP

时间:2014-02-27 11:06:38

标签: php

我写了一些PHP来调用目录中的所有图像并将它们显示在HTML页面上。由于文件名是随机生成的,需要为我们的在线库存系统识别,我需要按照它们上传到系统的顺序显示它们。

下面是我到目前为止编写的代码,我认为它需要添加if语句吗?任何帮助表示赞赏!

$dirname = "../dashboard/uploads/$inventory/";
$images = glob($dirname."*.jpg");
foreach($images as $image) {
echo '<img src="'.$image.'" class="print-images">';
}

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

$dirname = "../dashboard/uploads/$inventory/";
$images = glob($dirname."*.jpg");

$items = array();
foreach($images as $image) {
    $item = new stdClass;
    $item->time = filemtime($image);
    $item->image = $image;
    $items[] = $item;
}

function sortCallback($a,$b){
    if ($a->time > $b->time) return 1;
    if ($a->time < $b->time) return -1;
    return 0;
}

usort($items, "sortCallback");

foreach($items as $item) {
    echo '<img src="'.$item->image.'" class="print-images">';
}

如果您想要创建图像的日期,可以将filemtime函数更改为filectime,也可以在sortCallback函数中更改排序顺序。

它可能包含错误,因为我没有测试过它。