[Php]image aleatoire

alban13580 Messages postés 91 Statut Membre -  
 Anaya -
bonjour voila j'ai plusieurs images et jaimerais en php que ce ne soit pas tout le temps la meme qui soit afficher que ce soit un ordre aléatoire.

Merci

12 réponses

  1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Imagine que tu as trois adresses pour trois images:

    http://www.tonsite.com/image1.jpg
    http://www.tonsite.com/image2.jpg
    http://www.tonsite.com/image3.jpg

    Donc tu affectes ces trois valeurs dans trois champs d'une variable tableau:
    $images[0]="http://www.tonsite.com/image1.jpg";
    $images[1]="http://www.tonsite.com/image2.jpg";
    $images[2]="http://www.tonsite.com/image3.jpg";


    Tu génères un nombre aléatoire entre 0 et 2 (inclus) et tu l'affectes à une variable $i:
    $i=rand(0,2);

    Ce nombre aléatoire te servira pour faire appel à un des trois champs du tableau $image,; avec ça tu peux construire un appel d'image en html:
    echo "<img src=\"$images[$i]\">

    Dis moi si ya un truc qui t'échappe.

    Dugenou
    3
    1. marco13
       
      bonjour,
      ça marche pareil avec des codes html de utube? on peut les faire tourner en aléatoire?

      merci
      0
  2. graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   2 031
     
    Sinon tu peux simplement utiliser un array, simple et imparable:

    <img src="
    <?php $bckImg=array(

    'images/header/bg.jpg',
    'images/header/bg_hl2.jpg',
    'images/header/bg_alien.jpg',
    'images/header/bg_alien2.jpg',
    'images/header/bg_zombie.jpg',
    'images/header/bg_hl24.jpg',
    'images/header/bg_hl25.jpg'

    );

    Ce qui affichera une image aléatoire

    Le petit bonhomme en mousseeuuuuuuu...
    3
    1. Anaya
       
      Ton code ne fonctionne pas, peux-tu me donner la bonne version ?
      0
  3. dugenou Messages postés 6262 Statut Contributeur 1 455
     
    Bonjour,

    En fait le script est lié à un fichier texte qui contient les adresses des images ou de ce que tu veux.

    Il faut insérer le script à l'endroit ou tu veux que les images s'affichent, puis écrire les adresses des images dans le fichier texte.

    J'utilise ce script aussi bien pour des bannières en flash que pour des citations. La seul obligation est que chaque adresse dans le fichier texte ne tienne que sur une ligne.

    Le script :

    <?
    $cpt=0;
    $fpc = fopen("fichier.txt","r");

    while (!feof($fpc))
    {
    $enrc = fgets ($fpc,4096);
    $tabc[]=$enrc;
    $cpt++;
    }
    srand((double)microtime()*1000000);
    $nbrc=rand(0,($cpt-1));
    echo "$tabc[$nbrc]";
    ?>

    Bon courage.
    1
    1. Mono
       
      Et est-ce que quelqu'un sait sous quelle forme (syntaxe) on doit écrire les adresses des images dans le fichier txt ?
      Merci d'avance.
      0
  4. Kosty
     
    Bonjour, voila j'ai un petit code de bannière aléatoire qui marche parfaitement :

    <?php $nbimages=5;

    $nomimages[1]="../images/Design/bannieres/Banniere-1.jpg";
    $nomimages[2]="../images/Design/bannieres/Banniere-2.swf";
    $nomimages[3]="../images/Design/bannieres/Banniere-3.jpg";
    $nomimages[4]="../images/Design/bannieres/Banniere-4.swf";
    $nomimages[5]="../images/Design/bannieres/Banniere-5.jpg";
    srand((double)microtime()*1000000);
    $affimage=rand(0,$nbimages);
    ?>

    <img src="images/<?echo $nomimages[$affimage];?>" border=0 width=50 height=50 alt="Veuillez patienter le temps que l'image s'affiche...">

    Comment pourrai-je faire pour y mettre une image .swf (flash) ?
    merci d'avance.
    1
    1. v-v
       
      merci pour ton script,il marche trés bien !
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Euh en fait je voulais parler de rand() je crois:
    http://fr2.php.net/manual/en/function.rand.php

    Parce que là j'ai pas tout compris à gmp_random()

    Donc:

    $i=rand(0,9);
    echo "<img src=\"$images[$i]\">";
    0
  7. alban13580 Messages postés 91 Statut Membre
     
    ok sa va a peu pres
    je peux remplacer l'adresse de l'image par du code xhtml?? si je veu faire une banniere lien??
    merci
    0
  8. roopys
     
    Etant donné que les balises pour appeler du Flash, et celles pour une img sont différentes, il faudra peut être couper ton script en 2 parties.

    Je vois pas ça possible avec le même code.
    0
  9. Gaby
     
    Voila

    je pense que ca va etre dure pour moi car je ne comprend absolument rien !!!!
    pour moi cas j ai une image sur mon site qui est dans mon fichier CSS.

    .gauche {float : left; width : 265px ; height : 450px; background-image : url(images/001.jpg) }

    l"image s apel 001.jpg

    voila je voudrais afficher des images aleatoirement

    http://www.optycos.fr

    l"adresse de mon site

    merci de venir en aide au boulet que je suis

    Merci
    0
  10. makrem
     
    et si je veux faire un lien sur cette image ??
    0
  11. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Salut,

    Il suffirait de prendre un tableau, par exemple $images.
    Dans $images[0] tu mets l'adresse de ta première image, dans $images[1] l'adresse de ta deuxième image etc..
    On va dire que tu as 10 images. Donc on s'arrête à $images[9]

    Tu utilises la fonction gmp_random()
    http://fr2.php.net/manual/en/function.gmp-random.php

    Et voilà,
    $i=gmp_random(9);
    echo "<img src=\"$images[$i]\">";
    :-)
    -1
  12. alban13580 Messages postés 91 Statut Membre
     
    merci pour le script dugenou
    heu kilian j'ai pas compris ce que tu voulais dire....
    -1