Partage
  • Partager sur Facebook
  • Partager sur Twitter

image aléatoire

Sujet résolu
    23 décembre 2005 à 17:16:34

    Salut,
    Je voulait savoir comment faire pour faire un carré sur mon site avec une image qui change a chaque fois que l'on recharge la page et que se soit aléatoir. Est ce qu'il faud que je mette les image dans ma basse de donné ou juste dans un dossier et comment faire sur la page pour que ca en prène une au hasard ?
    merci de vos futures réponce
    amicalement
    Luc
    • Partager sur Facebook
    • Partager sur Twitter
      23 décembre 2005 à 17:43:54

      Tu peux faire çà en php, avec la fonction mt_rand() ;)

      ++
      aimak
      • Partager sur Facebook
      • Partager sur Twitter
        23 décembre 2005 à 17:46:51

        merci
        je fait ca :
        <?php
        echo mt_rand() . "\n";
        echo mt_rand() . "\n";

        echo mt_rand(5, 15);
        ?>


        mais je remplace quoi et mes image je mes met où ? (dossier ??)

        Et il ne faud pas que je remplace les chiffres pas un fichier avec la fonction preg_replace ??
        • Partager sur Facebook
        • Partager sur Twitter
          23 décembre 2005 à 19:35:56

          T'as qu'à mettre tes images dans un dossier et tu leurs donnes des numéros comme nom genre 1.jpg, 2.jpg etc.
          Et après tu fais un mt_rand pour prendre un numéro au hasard et t'affiches l'image correspondante, avec un echo tout bête....
          • Partager sur Facebook
          • Partager sur Twitter
            23 décembre 2005 à 19:47:19

            Bonjour personnellement, je fais ça :

            function aleatoire($path, $nom)
            {
                    $rep = $path.$nom;     

                    $dh = opendir($rep);
                    while(false !== ($file = readdir($dh)))
                    {
                            if($file != "." && $file != ".." && $file != 'Thumbs.db')
                            {
                                    $img[] = $file;
                            }
                    }
                    closedir($dh);
                    $nb_img = count($img);
                    if($nb_img <= 1 )
                    {
                            $lien_img = '<img src="images/noimage.jpg" alt="image par défaut" />';
                    }
                   
                    else
                    {
                            $alea = rand(0, ($nb_img-1));
                            $selection = $img[$alea];
                            $lien_img = '<img src="'.$path.$nom.'/'.$selection.'" alt="'.$selection.'" />';
                    }
                    return $lien_img;
            }


            $path, c'est le chemin vers un répertoire d'images, par exemple 'galerie/' et $nom, c'est le nom précis d'une dossier d'images, comme par exemple 'wallpapers'.

            @+

            PS : S'il n'y a pas d'image dans le répertoire, je renvoie une image par défaut.

            • Partager sur Facebook
            • Partager sur Twitter
              23 décembre 2005 à 20:06:58

              C'est sûr c'est plus joli, mais c'est plus compliqué ^^
              • Partager sur Facebook
              • Partager sur Twitter
                24 décembre 2005 à 9:58:04

                J'ai pensé que vous alliez m'envoyer balladé patceque je continu sur ce forum et que c'est du PHP alors hier j'y ai tout mis sur le forum PHP mais je préfère cette réponce :D


                <?
                function aleatoire($path, $nom)
                {
                        $rep = $path.$nom;     

                        $dh = opendir($rep);
                        while(false !== ($file = readdir($dh)))
                        {
                                if($file != "." && $file != ".." && $file != 'Thumbs.db')
                                {
                                        $img[] = $file;
                                }
                        }
                        closedir($dh);
                        $nb_img = count($img);
                        if($nb_img <= 1 )
                        {
                                $lien_img = '<img src="news/noimage.jpg" alt="image par défaut" />';
                        }
                       
                        else
                        {
                                $alea = rand(0, ($nb_img-1));
                                $selection = $img[$alea];
                                $lien_img = '<img src="'.$path.$nom.'/'.$selection.'" alt="'.$selection.'" />';
                        }
                        return $lien_img;
                }
                ?>


                Mais je n'ai pas monpris où mettre mes fichier la dedant o_O ils se trouvent dans /luc1991/news
                • Partager sur Facebook
                • Partager sur Twitter
                  24 décembre 2005 à 10:12:53

                  $path ='luc991';
                  $nom ='news';
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 décembre 2005 à 10:52:18

                    <?
                    function aleatoire($path, $nom)

                    {
                     $path ='luc1991';
                     $nom ='news';

                            $rep = $path.$nom;     

                            $dh = opendir($rep);
                            while(false !== ($file = readdir($dh)))
                            {
                                    if($file != "." && $file != ".." && $file != 'Thumbs.db')
                                    {
                                            $img[] = $file;
                                    }
                            }
                            closedir($dh);
                            $nb_img = count($img);
                            if($nb_img <= 1 )
                            {
                                    $lien_img = '<img src="images/noimage.jpg" alt="image par défaut" />';
                            }
                           
                            else
                            {
                                    $alea = rand(0, ($nb_img-1));
                                    $selection = $img[$alea];
                                    $lien_img = '<img src="'.$path.$nom.'/'.$selection.'" alt="'.$selection.'" />';
                            }
                            return $lien_img;
                    }
                    ?>


                    (je l'ai mis en include sur ma page) Ca n'affiche rien o_O
                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 décembre 2005 à 11:09:08

                      Yop

                      alors, le mieux, c'est que tu mettes ces fonctions avec les autres à venir dans un fichier fonctions.php ensuite sur les pages où tu en as besoin, tu insères l'instruction suivante :

                      require('fonctions.php');

                      Attention, c'est le lien relatif vers le fichier fonctions.php qu'il faut indiquer.


                      Ensuite, pour utiliser la fonction dans la page on va faire simplement :

                      <?php
                        $path = 'galeries/wallpapers/'; /* lien vers une galerie générale */
                        $nom = 'sexy women'; /* lien vers un thème précis de la galerie citée juste au dessus.*/

                        echo '<p class="image">'. aleatoire($path, $nom) .'</p>';
                      ?>


                      Cela va généré un lien du type :
                      <img src="galeries/wallpapers/sexy women/image.jpg" alt="image.jpg" />


                      Admettons que tu ne veuilles indiquer que le nom du répertoire, tu peux mettre

                      $path = '';
                      $nom = 'image_news';

                      Le tout est que le lien vers l'image soit bien construit (en référence à la page où l'image doit s'afficher).

                      @+
                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 décembre 2005 à 11:42:44

                        Citation : Luc

                        <?
                        function aleatoire($path, $nom)

                        {
                         $path ='luc1991';
                         $nom ='news';

                        (...)
                        }
                        ?>



                        (je l'ai mis en include sur ma page) Ca n'affiche rien o_O



                        C'est une fonction. Tu dois l'appeler avec en paramètres une valeur pour $path et une pour $nom.... aleatoire('luc1991','news');
                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 décembre 2005 à 12:45:11

                          Oulala je n'ai pas vraiment tout compris alors j'ai le fichier sur lequel je veux que ca aparaisse s'appelle index.php et le fichier de l'include s'appelle image.php

                          Citation : scaler

                          Yop

                          alors, le mieux, c'est que tu mettes ces fonctions avec les autres à venir dans un fichier fonctions.php ensuite sur les pages où tu en as besoin, tu insères l'instruction suivante :

                          require('fonctions.php');


                          Attention, c'est le lien relatif vers le fichier fonctions.php qu'il faut indiquer.


                          c'est quoi ca fichier fonction.php ??

                          Citation : scaler

                          Ensuite, pour utiliser la fonction dans la page on va faire simplement :


                          <?php
                            $path = 'galeries/wallpapers/'; /* lien vers une galerie générale */
                            $nom = 'sexy women'; /* lien vers un thème précis de la galerie citée juste au dessus.*/

                            echo '<p class="image">'. aleatoire($path, $nom) .'</p>';
                          ?>


                          c'est dans index.php ca ?
                          • Partager sur Facebook
                          • Partager sur Twitter
                            25 décembre 2005 à 17:41:59

                            Yop, d'abord bon noël et tout...

                            Ensuite, il faut lire mon ptit monsieur :-°
                            J'ai mis tout le protocole nécessaire pour utiliser cette fonction. Bon, personnellement, je nomme régulièrement le fichier où je mets toutes mes fonctions : fonctions.php => Une idée comme ça, originale !!

                            Si la tienne s'appelle image.php, c'est kif kif, le tout est de l'appeler dans le fichier où tu en auras besoin pour afficher l'image aléatoire.
                            Si j'ai bien compris ton image aléatoire doit apparaitre dans index.php.

                            Très simple dans ce cas, en haut de ta page d'index(avant le doctype), tu écris l'instruction :
                            require('image.php');


                            Ensuite, à l'endroit où doit apparaitre l'image, tu écris l'instruction suivante :

                            <?php
                              $path = 'luc1991/'; /* lien vers une galerie générale */
                              $nom = 'news'; /* lien vers un thème précis de la galerie citée juste au dessus.*/

                              echo '<p class="image">'. aleatoire($path, $nom) .'</p>'; /* appel de la fonction*/
                            ?>


                            bon courage.

                            • Partager sur Facebook
                            • Partager sur Twitter
                              27 décembre 2005 à 10:33:17

                              okai merci c'est bon ca marche :D
                              Joyeux Noël a vous aussi !!
                              • Partager sur Facebook
                              • Partager sur Twitter

                              image aléatoire

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown