Je crée une galerie d'images et j'aimerais que mes images les plus récentes soient placées devant.Comment obtenir des fichiers image à partir d'un répertoire et commander par dernière modification?
C'est ce que j'ai actuellement:
$files = glob("images/*.*");
for ($i=0; $i<count($files); $i++) {
$image = $files[$i];
$supported_file = array('gif','jpg','jpeg','png');
$ext = strtolower(pathinfo($image, PATHINFO_EXTENSION));
if (in_array($ext, $supported_file)) {
echo basename($image)."<br />"; // show only image name if you want to show full path then use this code // echo $image."<br />";
echo '<img src="'.$image .'" alt="Random image" />'."<br /><br />";
} else {
continue;
}
}
Mais je ne suis pas sûr de savoir comment faire afficher dans l'ordre de dernière téléchargé.
Vous aurez besoin d'une solution entièrement différente, probablement basée sur un itérateur de fichiers. Mon conseil est d'utiliser le composant finder de symfony, qui a déjà un certain nombre de tri intégré. Voir https://symfony.com/doc/current/components/finder.html – gview
Deux méthodes de tri sont déjà intégrées: sortByChangedTime() et sortByModifiedTime() – gview
utilisez http://php.net/manual/fr/function.filemtime.php pour créer un tableau d'éléments où key est filename et value est un horodatage reformaté, puis 'rsort()' travailler pour vous? – mickmackusa