返回最新添加的数组中的所有图像

时间:2016-07-22 18:24:06

标签: php arrays image sorting

我想创建一个数组,将每个图像从最新添加的文件夹返回到第一个文件夹。

所以,创建一个数组没关系,每个图像的时间加上它没关系, 从最新到第一个排序图像没问题。

目前我只能添加最新图片,但我不知道如何创建一段时间来显示我的所有图片?

这是我的代码:

<?php
$tabFich = array();
$allowedExtensions = ['jpg', 'jpeg', 'png', 'gif'];
$iterator = new DirectoryIterator("../img/peinture/");

foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {
        if (!$fileinfo->isFile() || !in_array($fileinfo->getExtension(), $allowedExtensions))
            continue;
        $tabFich[$fileinfo->getCTime()] = $fileinfo->getFilename();
    }
}

ksort($tabFich);
$lastFile = end($tabFich);
?>

<div class="vs-peint" style="background:url(../img/peinture/<?php echo $lastFile; ?>)"></div>

1 个答案:

答案 0 :(得分:1)

尝试这样的事情,让我知道它是否适合你     

$tabFich = array();
$allowedExtensions = ['jpg', 'jpeg', 'png', 'gif'];
$iterator = new DirectoryIterator("../img/peinture/");

foreach ($iterator as $fileinfo) {
    if ($fileinfo->isFile()) {

        if (!$fileinfo->isFile() || !in_array($fileinfo->getExtension(), $allowedExtensions))
            continue;

        array_push($tabFich, array("file_datetime" => $fileinfo->getCTime(), "file_name" => $fileinfo->getFilename()));
    }
}

usort($tabFich, function($a, $b) {
    return $a['file_datetime'] - $b['file_datetime'];
});

foreach ($tabFich as $key => $value) {?>

    <div class="vs-peint" style="background:url('../img/peinture/<?php echo $value['file_name']; ?>'); height: 400px; width: 400px;"></div>

<?php }