ToutSurTout.biz
Afficher une image aléatoire d'un dossier


Oui, mais ceci va se passer sur 2 php.

index.php :

<script type="text/javascript">
var auto_refresh = setInterval(
  function ()
  {
    $('#load_donnees').load('jquery.php').fadeIn("slow");
  }, 10000); // rafraichis toutes les 10000 millisecondes soit 10 secondes
</script>

<?php
// Ouvre le dossier contenant les images
$directory = 'images';
// Définition d'$image comme tableau
$image = array();
  // On vérifie s'il s'agit bien d'un répertoire
  if (is_dir($directory))
  {
   // On ouvre le répertoire
   if ($dh = opendir($directory))
   {
     // Lit une entrée du dossier et readdir retourne le nom du fichier
     while (($file = readdir($dh)) !== false)
     {
      // Vérifie de ne pas prendre en compte les dossier ...
      if ($file != '...' && $file != '..' && $file != '.')
      {
        // On ajoute le nom du fichier dans le tableau
        $image[] = $file;
      }
     }
     // On ferme le répertoire
     closedir($dh);
     // On récupère le nombre d'images total
     $total = count($image)-1;
     // On prend une valeur au hasard entre 1 et le nombre total d'images
     $aleatoire = rand(0, $total);
     // On récupère le nom de l'image avec le chiffre hasard
     $image_afficher = "$image[$aleatoire]";
     // Affiche l'image du hasard :p
     print "<div id="load_donnees"><img src='$directory/$image_afficher'></div>";
   }
  }
?>

jquery.php :

<?php
// Ouvre le dossier contenant les images
$directory = 'images';
// Définition d'$image comme tableau
$image = array();
  // On vérifie s'il s'agit bien d'un répertoire
  if (is_dir($directory))
  {
   // On ouvre le répertoire
   if ($dh = opendir($directory))
   {
     // Lit une entrée du dossier et readdir retourne le nom du fichier
     while (($file = readdir($dh)) !== false)
     {
      // Vérifie de ne pas prendre en compte les dossier ...
      if ($file != '...' && $file != '..' && $file != '.')
      {
        // On ajoute le nom du fichier dans le tableau
        $image[] = $file;
      }
     }
     // On ferme le répertoire
     closedir($dh);
     // On récupère le nombre d'images total
     $total = count($image)-1;
     // On prend une valeur au hasard entre 1 et le nombre total d'images
     $aleatoire = rand(0, $total);
     // On récupère le nom de l'image avec le chiffre hasard
     $image_afficher = "$image[$aleatoire]";
     // Affiche l'image du hasard :p
     print "<img src='$directory/$image_afficher'>";
   }
  }
?>