par
xylocopa » 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] => …)
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
##edit modération : pas de problème, nettoyage effectué du message en doublon
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]SI $img_aleatoire vient de $dossierA;
ALORS réponse == 'A';
SI $img_aleatoire vient de $dossierB;
ALORS réponse =='B';[/code]
J'ai trouvé sur le forum developpez.net un bout de script qui fait la première partie du travail :
[quote][code]<?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] => …)
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\" />";
?>[/code][/quote]
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
[b][color=#BF0000]##edit modération : pas de problème, nettoyage effectué du message en doublon[/color][/b]