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 les dossiers du répertoire racine sur un site [PHP 5.1]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 26
    Points : 18
    Points
    18
    Par défaut Lister les dossiers du répertoire racine sur un site
    Bonjour à tous,

    Sujet bien souvent traité... et pourtant je me heurte à son bon fonctionnement.

    Arborescence de mon site test :
    /d1/test2.php
    /test1.php


    Les scripts test1.php et test2.php sont strictement identiques.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $chemin = $_SERVER['DOCUMENT_ROOT'];
    $handle = opendir($chemin);
     
    while($Fichier = readdir($handle))
      {
      echo "Fichier ou dossier :  $Fichier <br />";
      if (is_dir($Fichier)) echo "Dossier ---> $Fichier <br />";
      }
    closedir($handle);
    Et pourtant le script test2.php ne détecte pas le dossier d1 comme un répertoire !

    Résultat de test1.php
    ---------------------
    Fichier ou dossier : .
    Dossier ---> .
    Fichier ou dossier : ..
    Dossier ---> ..
    Fichier ou dossier : d1
    Dossier ---> d1
    Fichier ou dossier : test1.php
    Résultat de test2.php
    ---------------------
    Fichier ou dossier : .
    Dossier ---> .
    Fichier ou dossier : ..
    Dossier ---> ..
    Fichier ou dossier : d1
    Fichier ou dossier : test1.php

    Qu'est-ce que j'ai oublié ?

    Apache/2.0.59 (Win32) PHP/5.1.6

    Si quelqu'un peut me donner des pistes
    Merci

    Cordialement

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    La réponse est dans la documentation : readdir() ne renvoit pas le chemin complet du fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $chemin = $_SERVER['DOCUMENT_ROOT'];
    $handle = opendir($chemin);
     
    while($Fichier = readdir($handle))
      {
      echo "Fichier ou dossier :  $Fichier <br />";
      if (is_dir($chemin.'/' .$Fichier)) echo "Dossier ---> $Fichier <br />";
      }
    closedir($handle);
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Ça marche !

    ... mais je ne vois pas cela dans la doc de readdir :
    string readdir ([ resource $dir_handle ] )
    readdir() retourne le nom du fichier suivant dans le dossier identifié par dir_handle . Les noms sont retournés dans l'ordre qu'ils sont enregistrés dans le système de fichiers.
    C'est un peu plus clair dans is_dir :
    bool is_dir ( string $filename )

    où filename est le chemin vers le fichier. Si filename est un fichier relatif, il sera vérifié relativement au dossier de travail courant.
    Pour info string filetype( string $filename ) fonctionne sur le même principe.

    En tout cas un grand merci !
    Très bonne journée.

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

Discussions similaires

  1. [AC-2003] lister les dossiers sur un serveur
    Par novice06 dans le forum VBA Access
    Réponses: 2
    Dernier message: 14/06/2010, 18h31
  2. Lister les fichiers du répertoire contenant une applet
    Par uncle bobo dans le forum Applets
    Réponses: 1
    Dernier message: 05/05/2006, 16h55
  3. [VB6]lister les dossiers et sous dossier
    Par Jacen dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 28/04/2006, 08h06
  4. Lister les dossiers et fichiers d'un répertoire
    Par scorpia dans le forum ASP
    Réponses: 2
    Dernier message: 11/04/2006, 18h50
  5. lister les dossiers contenu sur un CD
    Par titicurio dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/02/2006, 11h35

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