Annonce ToutSurTout

Bienvenue sur toutsurtout.biz

Déjà 15 ans !

Radio TST

Si vous souhaitez participer vous aussi aux discussions sur le forum, il faut vous inscrire ou vous identifier.

Le Thème TST Automne est maintenant en place.

Les inscriptions sont actuellement OUVERTES.

Message 1 Discussion postée le 30-06-2015 à 01:01:52

Loic
Avatar de Loic


Titre: Administrateur d'élite
Avancement: Niveau 5
Lieu: Avec Solenne
Date d'inscription: 26-09-2009
Messages: 107 780
Site web

Afficher une image aléatoire d'un dossier

<?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'>";
   }
  }
?>


http://www.toutsurtout.biz/img/UserBarTST.gif
http://www.toutsurtout.biz/img/Sign-Loic.gif
Loic DL un jour, Loic DL toujours ...
 

Message 2 Réponse postée le 04-07-2015 à 11:58:48

Alex31
No Avatar


Titre: TST Fan
Avancement: Niveau 4
Date d'inscription: 14-10-2012
Messages: 10 731

Re: Afficher une image aléatoire d'un dossier

Merci c'est super top la tu m'étonne une fois de plus, plus long avec insertion images et une fois tout mis c'est archi long. La simple et rapide.

Edit. C'est bon j'ai réussi. Après tu crois qu'on peut enchainer toutes les x secondes genre 10 sec ?

 

Message 3 Réponse postée le 04-07-2015 à 18:48:35

Loic
Avatar de Loic


Titre: Administrateur d'élite
Avancement: Niveau 5
Lieu: Avec Solenne
Date d'inscription: 26-09-2009
Messages: 107 780
Site web

Re: 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'>";
   }
  }
?>


http://www.toutsurtout.biz/img/UserBarTST.gif
http://www.toutsurtout.biz/img/Sign-Loic.gif
Loic DL un jour, Loic DL toujours ...
 

Message 4 Réponse postée le 04-07-2015 à 21:02:50

Alex31
No Avatar


Titre: TST Fan
Avancement: Niveau 4
Date d'inscription: 14-10-2012
Messages: 10 731

Re: Afficher une image aléatoire d'un dossier

Oui il vas me falloir du temps pour comprendre car dans le dossier c'est protéger par la structure et si index je doit renommé pour mettre en racine smile
Bon en fait index.php doit se renommer comme on veut.

En tout cas c'est super :D

 

Message 5 Réponse postée le 05-07-2015 à 01:42:40

Loic
Avatar de Loic


Titre: Administrateur d'élite
Avancement: Niveau 5
Lieu: Avec Solenne
Date d'inscription: 26-09-2009
Messages: 107 780
Site web

Re: Afficher une image aléatoire d'un dossier

Oui l'index.php c'était un exemple le plus important c'est de respecter le nom de la seconde page php qui elle est appelée par son nom dans la 1ère page.


http://www.toutsurtout.biz/img/UserBarTST.gif
http://www.toutsurtout.biz/img/Sign-Loic.gif
Loic DL un jour, Loic DL toujours ...