Je galère pour arriver à mettre en place l'algorythme suivant :
"tant que le dossier ne comporte pas la chaine "11-" (suivi de lettre(s) en majuscule(s)), recommencer la génération de l'image aléatoire".
Ca semble tellement simple quand c'est écrit comme ça…
Voici le bout de code, je pense que le regex est bon, et quand le dossier est 11-A ou 11-GH, ça fonctionne correctement, par contre, si le dossier est 12-F ou 12 RT, ça ne fonctionne plus et aucune image ne s'affiche.
// CHOIX DE L'IMAGE ALÉATOIRE
$root = "data";
$folder = scandir($root);
$folder = array_diff($folder, array(".", "..",));
$fo = array_rand($folder);
$root = "data/$folder[$fo]";
if (preg_match("#11-[A-Z]#", $root)){
$file = glob("$root/*.jpg", GLOB_BRACE);
$fi = array_rand($file);
}
else {
while ((preg_match("#11-[A-Z]#", $root))=== false){
$root = "data";
$folder = scandir($root);
$folder = array_diff($folder, array(".", "..",));
$fo = array_rand($folder);
$root = "data/$folder[$fo]";
$file = glob("$root/*.jpg", GLOB_BRACE);
$fi = array_rand($file);
}}
Si une âme charitable pouvait m'aider.Merci