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


return all images in array from latest added

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

所以,创建一个数组就可以了,获取每个图像的添加时间就可以了,将图像从最新到第一排序没问题。

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

这是我的代码:

<?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>

试试这样的东西,告诉我它是否适合你

$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 }