[Resolu] Affichage aléatoire d'images dans le bandeau titre du site - Version imprimable +- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr) +-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html) +--- Forum : Graphisme (https://forum.cmsmadesimple.fr/forum-9.html) +--- Sujet : [Resolu] Affichage aléatoire d'images dans le bandeau titre du site (/thread-627.html) |
[Resolu] Affichage aléatoire d'images dans le bandeau titre du site - AG1111 - 31/08/2010 Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~ Bonjour, Je souhaiterai, si cela est possible, afficher dans le bandeau correspondant au <header> une image différente d'une page à l'autre. A partir d'un nombre fini d'images de la même taille, 5 à 6 images au maximum, le but est d'afficher une image différente, de façon aléatoire, sur la seconde page affichée par le visiteur et ainsi de suite à chaque changement de page. Je ne sais pas trop comment faire où insérer du code. J'ai fais quelques essais de code dans la feuille de style mais ce n'est pas concluant. Si vous avez une idée, je suis preneur. Merci d'avance Alain [Resolu] Affichage aléatoire d'images dans le bandeau titre du site - bess - 31/08/2010 très facile et peu être fait en moins de 20 lignes de code dans un UDT en partant du principe que toutes tes images doivent être contenu dans un répertoire R et préalablement toutes taillées à la bonne taille le schéma est le suivant en php Code : //ouvre le répertoire R ensuite tu insères cet UDT dans le gabarit utilisé tel que {nom_de_ma_balise} rien de complexe et le net pullule d'info dispo sur chaque partie. Là tu as l'algo général. Demain si tu ajoutes 2 images dans le bon répertoire elles seront prises automatiquement en compte [Resolu] Affichage aléatoire d'images dans le bandeau titre du site - Jean le Chauve - 31/08/2010 Nommer les 6 images ainsi : image1.jpg, image2.jpg... Placer dans le gabarit : {capture assign='num'}{1|rand:6}{/capture} <img src="uploads/images/image{$num}.jpg" alt="" ... /> Cela donnera <img src="uploads/images/image3.jpg" si c'est le chiffre 3 qui est retourné en random. [Resolu] Affichage aléatoire d'images dans le bandeau titre du site - AG1111 - 01/09/2010 Bonjour, Merci à tous les 2 pour vos réponses rapides. Je vais tester tous cela et jje vous donne des nouvelles. A bientôt Alain [Resolu] Affichage aléatoire d'images dans le bandeau titre du site - AG1111 - 14/09/2010 Bonjour, je reviens vers vous car je coince sur un truc et je tourne en rond. J'ai créé 7 images de même taille, dans un même répertoire, et qui porte un nom de type image1.jpg, image2.jpg ..etc. j'ai créé un fichier php, pour tester mon code, qui va : lire le répertoire, faire la liste des fichiers images et compter le nombre d'image, récupérer un nombre aléatoire entre 1 le le nombre max d'images trouvées, et en fin afficher la bonne image. Voici ce code : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Bienvenue sur mon site !</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <p> Début du test </p> <?php $num = 0; echo '<ul>'; if ($dossier = opendir ("../randokerlouan/uploads/Logos")) echo '<p>apres ouverture</p>'; { while (false !== ($fichier = readdir($dossier))) { if ($fichier != "." && $fichier != ".." && $fichier != "index.php" && !is_dir($fichier)) { $num++; echo '<li><a href="../randokerlouan/uploads/Logos/' . $fichier . '">' . $fichier . '</a></li>'; $liste[$num]=$fichier; } } $nb = rand(1,$num); echo '<p>nombre aleatoire :' . $nb .' bof</p>'; echo '<p>nombre de fichiers :' . $num .' bof</p>'; $fichier=$liste[$nb]; echo '<p>Image à afficher :' . $fichier .' avant affichage</p>'; echo '<img rsc="../randokerlouan/uploads/Logos/' . $fichier . '" alt="logo dynamique" width='987px' height='190px'/>'; } ?> <p> fin </p> </body> </html> Tout fonctionne sauf l'affichage de l'image. Pour la ligne "echo '<img rsc="../randokerlouan/uploads/Logos/' . $fichier . '" alt="logo dynamique" width='987px' height='190px'/>';", j'ai un parse error expected "." or";". En fait je bute sur l'url de l'image je en sais pas la rendre dynamique, j'ai aussi essayé le code de Jean Le Chauve <img src="uploads/images/image{$num}.jpg" alt="" ... /> sans plus de résultat. Qu'est-ce que je fais mal ? Merci d'avance pour votre aide Alain [Resolu] Affichage aléatoire d'images dans le bandeau titre du site - Jean le Chauve - 14/09/2010 echo '<img rsc="../randokerlouan/uploads/Logos/'.$fichier.'" alt="logo dynamique" width="987px"height="190px" />'; Et supprime les espaces autour des points (.) pour la concaténation des variables : ex echo '<p>Image à afficher :'.$fichier.' avant affichage</p>'; et pas echo '<p>Image à afficher :' . $fichier . ' avant affichage</p>'; Citation :j'ai aussi essayé le code de Jean Le Chauve Code : {capture assign='num'}{1|rand:6}{/capture} Et tu peux faire encore plus court : Code : <img src="uploads/Logos/image{1|rand:7}.jpg" alt="logo" title="logo" /> [Resolu] Affichage aléatoire d'images dans le bandeau titre du site - AG1111 - 15/09/2010 J'ai modifié mon code comme cela : } $nb = rand(1,$num); echo '<p>nombre aleatoire :'.$nb.' bof</p>'; echo '<p>nombre de fichiers :'.$num.' bof</p>'; $fichier=$liste[$nb]; echo '<p>Image à afficher :'.$fichier.' avant affichage</p>'; echo '<img rsc="../randokerlouan/uploads/Logos/'.$fichier.'" alt="logo dynamique" width="987px" height="190px"/>'; } le résultat : je n'ai toujours pas d'affichage de mon image. il m'affiche ceci : # image7.jpg nombre aleatoire :1 bof nombre de fichiers :7 bof Image à afficher :image1.jpg avant affichage logo dynamique fin Avec firebug, j'ai bien la ligne html avec le nom du fichier comme il faut mais rien ne s'affiche à part ce qu'il y a dans l'attribut alt de la balise img. Je ne comprends pas pourquoi je n'ai pas d'affichage alors que les liens pointent bien sur les bon fichiers et eux ils s'affichent. As-tu un explication ? Merci pour tes réponses Alain [Resolu] Affichage aléatoire d'images dans le bandeau titre du site - AG1111 - 15/09/2010 Bon j'ai re-testé ton code et en effet cela marche du feu de dieu. Donc mon problème est résolu. Malgré tous si tu pouvais éclairer ma lanterne au sujet de l'affichage de mon image dans mon fichier php je t'en serai reconnaissant. Merci d'avance Alain [Resolu] Affichage aléatoire d'images dans le bandeau titre du site - bess - 15/09/2010 Citation : echo '<img rsc="../randokerlouan/uploads/Logos/'.$fichier.'" alt="logo dynamique" width="987px" height="190px"/>'; [Resolu] Affichage aléatoire d'images dans le bandeau titre du site - Jean le Chauve - 15/09/2010 Comme quoi notre cerveau est bien fait : il remet les lettres dans le bon ordre. Moralité : utiliser un bon éditeur quand on code. [Resolu] Affichage aléatoire d'images dans le bandeau titre du site - AG1111 - 15/09/2010 Merci à tous les 2, c'est vrai les lettres dans le bon ordre cela marche beaucoup mieux. Je modifie mon premier poste et je vous dis à bientôt pour d'autres aventures.... Cordialement Alain |