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 :

lister le contenu de deux dossier simultanément


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut lister le contenu de deux dossier simultanément
    Salut tout le monde, j'ai encore besoin d'aide

    Bon j'espère que je vais être clair dans ma demande mais j'ai un doute :euh:

    Sur mon site (site de fond d'écran), j'affiche des miniatures de fond d'écran qui serve aussi de lien. Un exemple ici.
    Les miniatures sont stocker dans un dossier différent de celui des fonds d'écrans.

    Voici le code pour afficher les miniatures (ne pas tenir compte du code en ligne je suis en train de le retravailler):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <ul>
      <li><a href="/page/00_img.php?i=animation/akira/Akira_01.jpg"><img src="/pic/min/animation/akira/Akira_01.png" title="1920*1200" alt="wallpaper Akira" /></a></li>
      <li><a href="/page/00_img.php?i=animation/akira/Akira_02.jpg"><img src="/pic/min/animation/akira/Akira_02.png" title="1024*768" alt="wallpaper Akira" /></a></li>
      <li><a href="/page/00_img.php?i=animation/akira/Akira_03.jpg"><img src="/pic/min/animation/akira/Akira_03.png" title="1920*1200" alt="wallpaper Akira" /></a></li>
      <li><a href="/page/00_img.php?i=animation/akira/Akira_04.jpg"><img src="/pic/min/animation/akira/Akira_04.png" title="1024*768" alt="wallpaper Akira" /></a></li>
      <li><a href="/page/00_img.php?i=animation/akira/Akira_05.jpg"><img src="/pic/min/animation/akira/Akira_05.png" title="1920*1200" alt="wallpaper Akira" /></a></li>
      <li><a href="/page/00_img.php?i=animation/akira/Akira_06.jpg"><img src="/pic/min/animation/akira/Akira_06.png" title="1024*768" alt="wallpaper Akira" /></a></li>
      <li><a href="/page/00_img.php?i=animation/akira/Akira_07.jpg"><img src="/pic/min/animation/akira/Akira_07.png" title="1920*1200" alt="wallpaper Akira" /></a></li>
      <li><a href="/page/00_img.php?i=animation/akira/Akira_08.jpg"><img src="/pic/min/animation/akira/Akira_08.png" title="1024*768" alt="wallpaper Akira" /></a></li>
    </ul>
    Pour le moment, je le fais manuellement ce qui est assez contraignant. Je cherche donc à automatiser tout ca.
    J'utilise un script qui fonctionne très bien si je cherche seulement à afficher les miniatures mais je coince quand il s'agit de récupérer en plus le nom du fond d'écran (vu que l'adresse et souvent l'extension sont différentes).
    Voici le script :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <ul>
    <?php				
      $dirMin = '../pic/min/animation/akira/';
      $dirWp = '../pic/wp/animation/akira/';
     
      $Min = opendir($dirMin);                    
      $Wp = opendir($dirWp);
     
      while($linkWp = readdir($Wp))
      {
        if($linkWp != '.' && $linkWp != '..' && !is_dir($dirWp.$linkWp))
        {
          while($preMin = readdir($Min))
          {
            if($preMin != '.' && $preMin != '..' && !is_dir($dirMin.$preMin))
            {   
               echo '<li><a href="/page/00_img.php?i=animation/akira/'.$linkWp.'"><img src="/pic/min/animation/akira/'.$preMin.'" title="1920*1200" alt="wallpaper Akira" /></a></li>';
            }
          }
        }
      }                    
     closedir($Min);
     closedir($Wp);
    ?>
    </ul>
    Avec l'exemple de code si dessus, je vois bien les miniatures correctement mais pour le lien, je me retrouve avec tout les lien qui pointe vers Akira_01.jpg, comme si le script ne voyait que le premier fichier . Bon je me doute d'où ca vient, mais je ne trouve pas comment modifier ce script pour avoir le résultat voulu. J'avais éventuellement penser utiliser un tableau mais la encore je n'ai pas réussi à mettre tout ca en place :/

    Note : je n'ai pas de bdd et je n'ai pas le temps d'en créer une maintenant...je sais que ca serait mieux mais je sais qu'il est possible de ne pas en utiliser pour faire ca et ca m'arrange

    Quelque précision sur les miniatures et les fonds d'écran qui corresponde :
    les miniatures -> www/pic/min/sousDossier1/sousDossier2/Miniature_01.png
    les fonds d'écrans -> www/pic/wp/sousDossier1/sousDossier2/FondDecran_01.jpg (ou .gif ou .bmp ou .png .....)

    Le nom du fond d'écran est donc identique à celui de la miniature qui lui correspond (mise à par l'extension).

    Voilà, je crois que j'ai fais le tour ^^
    Need Help svp, Merci

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    évite de poster sur plusieurs, c'est pas terrible pour ceux qui répondent.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Heu si j'ai poster dans différentes section c'est pas volontaires :s vu que j'ai poster que une fois ici

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Hello,

    Déjà pour parcourir un dossier, la fonction scandir() est beaucoup plus confortable.

    Dans ton cas, si tes deux dossiers correspondent correctement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // on lit le dossier des miniatures
    $miniatures = scandir( 'monDossierDeMiniatures' );
    // on vire les dossiers . et ..
    $miniatures = array_diff( $miniatures , array( '.' , '..' ) );
    // on lit le dossier wallpapers
    $walls = scandir( 'monDossierDeWallpapers' );
    // on nettoie
    $walls = array_diff( $walls , array( '.' , '..' ) );
    // et on boucle pour afficher les trucs 
     
    foreach( $miniatures as $key => $val ){
        echo $val . ' => ' . $walls[ $key ] . '<br />';
    }
    Code écrit à la volée sur le forum, peut contenir des coquilles.

    A priori à partir de cela, tu devrais pouvoir adapter sans problème pour créer tes liens.
    Pourfendeur de singletons en croisade

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Sans problème est le bon mot. Et j'ai pas trouver de coquille Un grand merci


    Cerise sur le mcdo :
    J'essaye de récupérer aussi les dimensions de l'image avec un getimagesize()
    mais quand je rajoute ca j'ai un message d'erreur avant chaque miniature :

    Warning: getimagesize(Akira_01.jpg) [function.getimagesize]: failed to open stream: No such file or directory in C:\wamp\www\page\animation\akira.php on line 108

    Donc apparement un prob de lien mais je me demande plutôt si il manquerai pas un bout de code quand j'applique la manipe

    Donc voici le nouveau code :
    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
    16
    17
     
    <ul>
    <?php	
     
         $miniatures = scandir( '../pic/min/animation/akira/' );// on lit le dossier des miniatures
         $miniatures = array_diff( $miniatures , array( '.' , '..','_notes' ) );// on vire les dossiers . et ..
         $walls = scandir( '../pic/wp/animation/akira/' );// on lit le dossier wallpapers
         $walls = array_diff( $walls , array( '.' , '..','_notes' ) );// on nettoie
     
         foreach( $miniatures as $key => $val )// et on boucle pour afficher les trucs 
         {
    	 //echo $val . ' => ' . $walls[ $key ] . '<br />';
    	$size = getimagesize($walls[$key]);
    	echo '<li><a href="/page/00_img.php?i=animation/akira/'.$walls[$key].'"><img src="/pic/min/animation/akira/'.$val.'" title="'.$size[0].'*'.$size[1].'" alt="wallpaper Akira" /></a></li>';
         }
    ?>
    </ul>
    EDIT : j'ai changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $size = getimagesize($walls[$key]);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $size = getimagesize('../pic/wp/animation/akira/'.$walls[$key]);
    La ca marche sauf que les résolution ne corresponde pas...une idée de quoi j'ai fait de travers ? xD

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $size = getimagesize( '../pic/wp/animation/akira/' . $walls[$key] );
    Et path le chemin !

    Désolé.

    -------->[ ]
    Pourfendeur de singletons en croisade

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    En faite si tout marche nickel, c'est moi qui m'étais tout mélanger dans mes dimensions a force de tripatouiller xD. Donc la c'est le MERCI final, je jubile ca va me faire gagner un temps phénoménale

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

Discussions similaires

  1. lister le contenu d'un dossier
    Par anthonycosson dans le forum Langage
    Réponses: 2
    Dernier message: 27/12/2007, 12h26
  2. lister le contenu d'un dossier avec ant
    Par slouma_b_h dans le forum ANT
    Réponses: 1
    Dernier message: 15/11/2007, 09h53
  3. Lister le contenu d'un dossier depuis une applet
    Par faocode dans le forum Applets
    Réponses: 1
    Dernier message: 11/05/2007, 10h05
  4. Lister le contenu d'un dossier
    Par WyLLoU dans le forum Access
    Réponses: 1
    Dernier message: 11/07/2006, 15h06
  5. Lister le contenu d'un dossier dans une ListBox
    Par zidenne dans le forum Langage
    Réponses: 2
    Dernier message: 25/10/2005, 12h51

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