Afficher la dernière image téléchargée

tibo -  
Pitet Messages postés 2845 Statut Membre -
Bonjour,
Je cherche à faire des galeries fancybox, donc pour chaque galeries je souhaiterai avoir la dernière image ajoutée sur ma page et lorsque je clique dessus cela ouvre ma galerie via fancybox:

voici mon code:

<?php
$villa = "img/travaux/villa/mini/";
$dir = opendir($villa);
while($file = readdir($dir)){
$allow_ext = array("jpg",'png','gif');
$ext = strtolower(substr($file,-3));
if(in_array($ext,$allow_ext)){
?>
<a rel="single_1" href="img/travaux/villa/<?php echo $file; ?>" title="">
<img src="img/travaux/villa/mini/<?php echo $file; ?>"/>
<?php
}
}

?>
</a>



Donc mon problème c'est que toutes mes images ("mini") s'affiche sur la page or je souhaiterai uniquement avoir la dernière ajoutée, comment pourrai-je faire ?

1 réponse

  1. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    Une solution possible :
    <?php 
    
    // on récupère tous les fichiers jpg, png et gif du dossier img/travaux/villa/mini/
    $files = glob('img/travaux/villa/mini/*.{jpg,png,gif}', GLOB_BRACE);
    // on récupère la date de modification de chaque fichier
    $files = array_combine($files, array_map("filemtime", $files));
    // on tri la liste des fichiers selon la date de modification
    arsort($files);
    // le premier fichier de la liste triée est donc le dernier fichier modifié
    $latest_file = key($files);
    
    if($latest_file) { ?>
    	<a rel="single_1" href="img/travaux/villa/<?php echo $latest_file; ?>" title="">   
    		<img src="img/travaux/villa/mini/<?php echo $latest_file; ?>"/>
    	</a>
    <?php } else {
    	echo 'Pas de fichier';
    } 
    


    Source : https://stackoverflow.com/questions/5448374/get-last-modified-file-in-a-directory

    Bonne journée
    0