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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[PHP] - Listage de dossier chemin relatif ou absolu


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut [PHP] - Listage de dossier chemin relatif ou absolu
    Bonjour, j'ai ce script pour lister les dossier dans le dossier courant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php 
     
      $directories = glob("*",GLOB_ONLYDIR); 
      foreach ($directories as $dir) 
       { 
          echo '<a href="'.$dir.'/index.php">'.$dir.'</a> <br>'; 
       } 
     
    ?>
    Mais si je met un chemin relatif ou absolu, ca ne fonctionne pas:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php 
     
      $directories = glob("dossier1/dossier2/*",GLOB_ONLYDIR); 
      foreach ($directories as $dir) 
       { 
          echo '<a href="'.$dir.'/index.php">'.$dir.'</a> <br>'; 
       } 
     
    ?>
    Que puis-je faire ?

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    un chdir.

  3. #3
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Merci

    Mais si je comprend bien c'est pour changer le répertoire courant ?

    Il n'y a pas moyen de faire autrement ?

  4. #4
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    non, glob regarde dans le répertoire courant.
    Pour remettre le repertoire courant après usage, utilise getcwd.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $cwd = getcwd();
    chdir('C:/');
     
    foreach (glob('*') as $filename) var_dump($filename);
     
    chdir($cwd);
     
    foreach (glob('*') as $filename) var_dump($filename);

  5. #5
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    J'ai donc modifier comme suit:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      $directories_ =  chdir('http://www.lunnatick.fr/'); 
      foreach ($directories_ as $dir_) 
       { 
          echo '<a href="'.$dir_.'/index.php">'.$dir_.'</a> <br>'; 
       } 
       $cwd = getcwd();
       chdir($cwd);
    Ce qui me renvoi cette erreur:

    Warning: chdir() [function.chdir]: No such file or directory (errno 2) in /homez.302/lunnatic/www/mod_pg_gal_som.php on line 121

    Warning: Invalid argument supplied for foreach() in /homez.302/lunnatic/www/mod_pg_gal_som.php on line 122

  6. #6
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    si tu trouve un shell qui supporte CD http://... il faut m'appeller

    chdir ne fonctionne qu'avec des répertoire locaux, le support du wrapper http n'y est évidement pas présent.

    De plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $cwd = getcwd();
    chdir($cwd);
    cette opération ne sert à rien vu que tu as déja changé le répertoire courant plus haut donc la valeur de getcwd à déjà changé.

  7. #7
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Bonjour, me revoilà sur ce tropic, cela fait un moment que je n'ai pas toucher php, et la j'ai ce 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
    <?php 
     
    $cwd = getcwd();
     
    chdir('imgs/Ma_Selection/');
     
    $directories = glob("*.jpg");
     
    chdir($cwd);
     
    foreach ($directories as $dir) 
    { 
     
    		 echo '<a href="'.$dir.'" rel="lightbox[roadtrip]"><img src="'.$dir.'"  height="250" border="1" style="border-color:#000000"></a> &nbsp;'; 
    } 
    ?>

    Mais ce ne marche pas, que dois-je faire ?

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Citation Envoyé par koKoTis Voir le message
    Mais ce ne marche pas, que dois-je faire ?
    J'ai jamais vu php marcher, il faut sans doute lui greffer 2 jambes.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $directories = glob(getcwd()."/imgs/Ma_Selection/*.jpg");
    // ou
    $directories = glob(__DIR__."/imgs/Ma_Selection/*.jpg");
    // ou
    $directories = glob(__DIR__."/../imgs/Ma_Selection/*.jpg");
    // ou 976 autres :(
    Mais comme tu ne précise pas ou est placé ton fichier php par rapport a ton dossier images, on ne risque pas de t'aider et on oublie les chdir(...)

  9. #9
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Citation Envoyé par papajoker Voir le message
    J'ai jamais vu php marcher, il faut sans doute lui greffer 2 jambes.
    lol


    Donc j'ai ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
     
    $directories = glob(__DIR__."/imgs/Ma_Selection/*.jpg");
     
    foreach ($directories as $dir) 
    { 
     
    		 echo '<a href="'.$dir.'" rel="lightbox[roadtrip]"><img src="'.$dir.'"  height="250" border="1" style="border-color:#000000"></a> &nbsp;'; 
    } 
    ?>
    Mais ca ne fonctionne toujours pas

  10. #10
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    ligne 4 fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo __DIR__."/imgs/Ma_Selection/";
    echo realpath( __DIR__."/imgs/Ma_Selection/" );
    je t'ai dit, cela dépend ou ce trouve ton script php par rapport a ton dossier imgs, je suis pas devin.

  11. #11
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    le fichier PHP se trouve juste avant le dossier "imgs"

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

Discussions similaires

  1. [RegEx] Chemin relatif en absolu
    Par jmjmjm dans le forum Langage
    Réponses: 5
    Dernier message: 17/05/2011, 02h01
  2. PHP, gestion de fichier : chemin relatif, url, etc..
    Par Tonyryu dans le forum Langage
    Réponses: 6
    Dernier message: 24/04/2009, 09h29
  3. Lire un fichier en chemin relatif ou absolu
    Par batataw dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 11/10/2007, 16h51
  4. Chemin Relatif et Absolu
    Par Z3c33 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/05/2007, 23h50
  5. [access2002] [chemin Relatif Et Absolu]
    Par louroulou dans le forum Access
    Réponses: 1
    Dernier message: 02/06/2006, 14h39

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