<?php

// ------------------------------------------------------------------------- //
// Afficher une image aléatoire                                              //
// ------------------------------------------------------------------------- //
// Auteur: Gap <gap@melo.com>                                                //
// Web:    http://www.scout.ch/gsfa                                          //
// ------------------------------------------------------------------------- //

/*
Ce script permet d'afficher une image prise de manière aléatoire dans un
répertoire.

Il ouvre le répertoire et compte le nombre de fichiers images correspondants aux
critères (type d'image, hauteur, largeur). Une de ces images est ensuite affichée.
Le répertoire peut contenir toutes sortes d'autres fichiers, seules les images
correspondantes seront prises en compte.
*/

$rep = "images/";     // Répertoire contenant les images

$filter[type] = 2;    // Format d'image. 1 = GIF, 2 = JPG, 3 = PNG, 5 = PSD,
                      //                 6 = BMP
$filter[height] = 75; // Hauteur de l'image en pixels
$filter[width] = 250; // Largeur de l'image en pixels

$i = 0; // Initialisation du compteur
$d = dir("$rep"); // Ouverture du répertoire

while($file=$d->read())
{
    
// Empèche de prendre les entrées . et .. du répertoire
    
if ($file != "." && $file != "..")
    {
        
$info = getimagesize($rep.$file);
        
// Filtre les images qui ne correspondent pas aux critères
        
if($info[2] == $filter[type] && $info[1] == $filter[height] &&
           
$info[0] == $filter[width])
        {
            
// Remplissage du tableau des noms de fichier des images
            
$table[$i] = $file;
            
$i++; // Incrémentation du compteur d'images
        
}
    }
}
$d->close(); // Fermeture du répertoire
srand((double)microtime()*1000000);

// Définition d'un nombre aléatoire dans la fourchette du nombre d'images
$nbr=rand(0,($i-1));

// Définition d'une variable contenant le chemin d'acces relatif à l'image
// choisie par le nombre aléatoire dans le tableau
$display = $rep.$table[$nbr];
$info = getimagesize($display);

echo
'<img src="'.$display.'" border="0" '.$info[3].'>'; // Affichage de l'image

?>