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 :

La fonction is_dir() déconne !


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de sami_c
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mai 2002
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 771
    Par défaut La fonction is_dir() déconne !
    Bonjour,
    J'ai utilisé le script ci-dessous pour afficher l'arborescence du dossier web courant :
    http://cyberzoide.developpez.com/php4/file/

    Voici le 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
    <?php
    function list_dir($name, $level=0) {
      if ($dir = opendir($name)) {
        while($file = readdir($dir)) {
          for($i=1; $i<=(4*$level); $i++) {
              echo "&nbsp;";
          }
          echo "$file<br>\n";
          if(is_dir($file) && !in_array($file, array(".",".."))) {
            list_dir($file,$level+1);
          }
        }
        closedir($dir);
      }
    }
    list_dir(".");
    ?>
    Le problème c'est que sous mon windows (avec wampserver 2) le script ne 'voit' plus les sous-sous dossiers !!!
    Exp :
    ./
    ./fichier.txt
    ./images/
    ./images/image.jpg
    ./images/icones/
    ./images/icones/icone.jpg

    le script affiche fichier.txt puis le dossier images, au dessous le fichier image.jpg puis le FICHIER icones et le fichier icones.jpg !!! Donc pour lui le dossier images ne contient que des fichiers !!!

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Il faut indiquer le chemin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          if(is_dir($name . $file) && !in_array($file, array(".",".."))) {
            list_dir($name . $file . '/',$level+1);
          }
    (on supposera que $name est terminé par / lors de l'appel initial, sinon il faudra gérer le cas dans la fonction)

  3. #3
    Membre éclairé Avatar de sami_c
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Mai 2002
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 771
    Par défaut
    suis-je bête

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

Discussions similaires

  1. Incohérence avec la fonction is_dir
    Par CyberCat_ dans le forum Langage
    Réponses: 6
    Dernier message: 04/09/2013, 15h34
  2. [MySQL] Problème avec la fonction is_dir
    Par SuperSDF dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/06/2009, 22h21
  3. [CSV] Les fonctions is_dir, opendir et readdir
    Par philou029 dans le forum Langage
    Réponses: 6
    Dernier message: 14/02/2008, 14h52
  4. Problème avec la fonction is_dir()
    Par TeK55 dans le forum Langage
    Réponses: 4
    Dernier message: 23/05/2007, 07h57
  5. fonction is_file() et is_dir()
    Par nixonne dans le forum Langage
    Réponses: 1
    Dernier message: 13/09/2005, 21h17

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