IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Mon code qui affiche aléatoirement des images [PHP 5.2]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 189
    Par défaut Mon code qui affiche aléatoirement des images
    Bonjour a tout le monde,
    J'ai ce code qui marche très bien sauf que je cherche a le modifier et ca coince.
    Dans un dossier "gauche" ou j'ai 10 images. Dans ce meme dossier j'ai u fichier random.php
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <?php
    $dir = '.';
    $avatar_types[] = 'gif'; 
    #$avatar_types[] = 'jpg'; //add as many new image extensions as you want.
     
    // DO NOT EDIT BELOW THIS LINE
    $avatar = array_key_exists('avatar',$_GET)?$_GET['avatar']:'';
    if ($avatar != '') {
           $avatar = urldecode($avatar);
    }
    else {
       $avatars = array();
       $directory = opendir($dir);
       while ($list = readdir($directory)) {
          if ($list != '.' && $list != '..') {
             $ext_check = explode('.',$list);
             foreach ($avatar_types as $variable => $value) {
                if (in_array($value,$ext_check) && !in_array($value,$avatars)) {
                   $avatars[] = $list;
                }
             }
          }
       }
       closedir($directory);
       $random = array_rand($avatars,1);
       $avatar = $avatars[$random];
    }
    $file = fopen($dir.'/'.$avatar,'r');
    $content = fread($file,filesize($dir.'/'.$avatar));
    fclose($file);
    die($content);
    ?>
    J'ai egalement un autre dossier "droite" ou j'ai 11 images. Dans ce deuxieme dossier j'ai egalement un fichier random.php qui est exactement le même que ci-dessus.

    Dans ma page index.php, j'ai un tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <table>
    <tr>
    <td>
    <img src="img/citations/gauche/random.php" alt="Jamathidiary" />
    </td>
    <td>
    <img src="img/citations/droite/random.php" alt="Jamathidiary" />
    </td>
    </tr>
    </table>
    Les images s'affiche bien aléatoirement

    Voici encore une iformation complémentare:
    Dans mes dossiers "gauche" et "droite" mes images sont nommées ainsi:
    gauche :
    G_img_01
    G_img_02
    etc...
    droite:
    D_img_01
    D_img_02
    etc...

    Il faudarit qu'a chaque rafraichissement de la page que s l'image de gauche soit la même que l'image de droite:
    Expl:
    G_img_01 et D_img_01
    etc...


    Le probleme c'est que ca ne le fait pas. Dans mon cas, si l'image
    G_img_01 s'affiche a gauche, à droite, c'est pas forcément l'image D_img_01 qui s'affiche, mais une aure au hazard, exemple: D_img_10

    Avez-vous une idée comme modifier le code PHP pour que quand l'image G_img_04 est affichée a gauche, ben l'image D_img_04 soit affichée a droite. Ou s'il l'image G_img_09, l'image D_img_09 soit affichée a droite, et ainsi de suite ?

    merci

  2. #2
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 496
    Par défaut
    Si j'ai bien compris, l'image 1 dans le dossier gauche doit correspondre à l'image 1 du dossier droite.

    Donc, je serai toi, je renommerai mes images. Dans chaque dossier :
    1.gif
    2.gif
    3.gif
    etc.

    Ensuite, tu vire les fichiers random.php

    Puis, sur la page qui affiche tes images :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    $nombre_image = 15; // Nombre d'image contenu dans ton dossier
    $image_hasard = rand(1, $nombre_image); //Tire un chiffre entre 1 et ton nombre d'image
    ?>
    <table>
    <tr>
    <td>
    <img src="img/citations/gauche/<?php echo $image_hasard; ?>.gif" alt="Jamathidiary" />
    </td>
    <td>
    <img src="img/citations/droite/<?php echo $image_hasard; ?>.gif" alt="Jamathidiary" />
    </td>
    </tr>
    </table>
    Comme ça, tu devrai avoir les images correspondantes et un code php beaucoup plus simple ....

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 189
    Par défaut
    Ha ouais en effet.
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/12/2011, 09h35
  2. [MySQL] bug de mon code pour afficher des donnes BDD a partir de l'id transmise
    Par gael-abdelhadi dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 20/03/2011, 12h56
  3. Un pourcentage qui monte (lorsque des images se chargent)
    Par sansamis dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/01/2007, 15h24
  4. [Tcl/Tk] Mon interface n'affiche pas les images
    Par randazar dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 21/11/2006, 16h48
  5. Comment afficher rapidement des images ?
    Par Michel_57 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 16/01/2005, 04h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo