La première étape est de choisir un répertoire et d'en lire le contenu. En effet on commencera, dans notre script, par établir la liste des images disponibles. Pour cela on utilisera le code suivant :

<?php
 
// On stock le répertoire dans une variable
// on l'utilisera de nouveau par la suite dans le code
$dir = "./images/";
 
// On ouvre le répertoire pour se préparer
// à le lire
$opened_dir = opendir($dir);
 
// On vérifie que l'ouverture du répertoire à bien
// fonctionnée, sinon on arrête là....
if(!$opened_dir) die('Erreur');
 
// On créé un tableau destinné à contenir la
// liste des images disponibles
$image_list = array();
 
// On créé une variable $i pour parcourir le tableau
// ainsi créé
$i = 0;
 
// On boucle tant que l'on peut y lire queque chose
while ( ($file = readdir($opened_dir)) !== FALSE )
{
      // On contrôle que nous sommes bien en présence d'un
      // fichier et non pas d'un répertoire
      if( is_file($dir.$file) )
      {
            // On stock l'image dans le tableau d'image
            $image_list[$i] = $file;
 
            // On incrémente la variable de parcourt de 1
            // pour ne pas écraser l'enregistrement avec
            // le suivant
            $i++;
      }
}
 
// Et on finit par fermer le répertoire ouvert
closedir($opened_dir);
 
?>

Avec la portion de code précédente, on obtient un tableau contenant la liste compléte des images se trouvant dans le répertoire choisit. La suite n'est donc plus très compliquée. Il suffit de créer aléatoirement un nombre compris entre 0 et le nombre d'éléments -1 du tableau (le premier élément d'un tableau est l'élément 0, donc le dernier correspond aux nombres d'éléments -1) et de l'utiliser comme indice du tableau pour obtennir l'image correspondante.

Le code à utiliser pour la suite est donc le suivant :

<?
 
// On réutilise $i pour stocker le nombre aléatoire
// on lui donne donc une valeur grace à la fonction mt_rand() de
// génération de nombres aléatoires
$i = mt_rand(0,count($image_list)-1);
 
// Enfin on renvoit le code html nécessaire pour afficher l'image
// dans une page web
echo '<img scr="',$dir,$image_list[$i],'" alt="Image aleatoire" />';
 
?>

L'action finale de ce script est de renvoyer le code html nécessaire à l'affichage de l'image. Notez que ce n'est qu'une possibilité parmis d'autres. L'important est de se souvennir que la concaténation des variables $dir et $image_list[$i] donne le chemin complet vers l'image.