Affichage aléatoire à partir de plusieurs sous dossier pour création d'un exercice.

Petit nouveau ! | 1 Messages

23 avr. 2021, 10:07

Bonjour,

Voilà mon problème ; je voudrais afficher une image aléatoire tirée d'un des nombreux sous-dossier présent dans un dossier principal 'images'. Ensuite je voudrais poser une question au visiteur (une sorte de quiz) et lui dire si ça réponse est bonne ou mauvaise en fonction du sous-dossier dont vient l'image.
Dans l'idée ça donne :

Code : Tout sélectionner

SI $img_aleatoire vient de $dossierA; ALORS réponse == 'A'; SI $img_aleatoire vient de $dossierB; ALORS réponse =='B';
J'ai trouvé sur le forum developpez.net un bout de script qui fait la première partie du travail :

Code : Tout sélectionner

<?php $dir = "images"; $folder = scandir($dir); //répertorie les sous-dossiers (et les fichiers) //print_r ($folder); // renvoie Array ( [0] => . [1] => .. [2] => Thumbs.db [3] => &#8230;) unset($folder[0], $folder[1], $folder[2]); //supprime [0] => . [1] => .. [2] => Thumbs.db $i = array_rand($folder); $impath = "$dir/$folder[$i]"; $file = scandir($impath); //répertorie les fichiers des sous-dossiers foreach($file as $files) $ii = array_rand($file); $image = "$impath/$file[$ii]"; list($width, $height, $type, $attr) = getimagesize("".$image.""); if ($width < 1 && $height < 1) // si l'image a moins d'un pixel de hauteur et de largeur, refaire un random { $file = scandir($impath); foreach($file as $files) $ii = array_rand($file); $image = "$impath/$file[$ii]"; list($width, $height, $type, $attr) = getimagesize("".$image.""); echo "<br><img src=\"".$image."\" $attr name=\"name_image\" />"; } else echo "<br><img src=\"".$image."\" $attr name=\"name_image\" />"; ?>
Cependant, pour une raison que j'ignore ce code semble ne vouloir afficher que les images présentes dans un seul des sous-dossier.

Quelqu'un saurait-il m'aider s'il vous plaît ?

Merci d'avance :D

##edit modération : pas de problème, nettoyage effectué du message en doublon