[Php]image aleatoire

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. Modérateur
    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
    1. bonjour,
      ça marche pareil avec des codes html de utube? on peut les faire tourner en aléatoire?

      merci
  2. Contributeur
    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...
    1. Ton code ne fonctionne pas, peux-tu me donner la bonne version ?
  3. 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
    1. 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.
      1. 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. merci pour ton script,il marche trés bien !
      2. Contributeur
        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. 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.
      3. 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
        1. merci pour le script dugenou
          heu kilian j'ai pas compris ce que tu voulais dire....
          1. Modérateur
            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]\">";
            :-)