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 :

Incohérence avec la fonction is_dir


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Incohérence avec la fonction is_dir
    Bonjour,

    J'aimerai lister uniquement les dossiers du répertoire racine de mon site.

    Pour ce faire, j'ai essayé ceci :
    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
    	include_once ('realpath.php');
    	$folders = scandir ($realpath);
    	if ($folders == false) {
    		echo 'Error!';
    	}
    	else {
    		foreach ($folders as $folder) {
    			if (is_dir($folder) == true) {
    				echo 'folder : ' . $folder . '<br>';
    			}
    			else {
    				echo 'file : ' . $folder . '<br>';
    			}
    		}
    	}
    ?>
    Et voici le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    folder : .
    folder : ..
    file : _includes
    file : autumn
    file : index.php
    file : ragnarok
    Ça ne fonctionne qu'à moitié et je comprends pas pourquoi.

    Dans le résultat ci-dessus, _includes, autumn et ragnarok sont des dossiers, hors la fonction is_dir ne les reconnaît pas. En revanche elle reconnaît les dossiers parents : ./ ../

    Quelqu'un peut-il m'aider ?

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (is_dir($realpath . DIRECTORY_SEPARATOR . $folder) == TRUE) {
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci bien !
    Le code proposé fonctionne à merveille.

    Cependant, et histoire de dormir moins bête ce soir, qu'est-ce donc DIRECTORY_SEPARATOR ?? Comment l'utiliser ??

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Bon ok, DIRECTORY_SEPARATOR est égal à un / ??

    Si oui, pourquoi utiliser DIRECTORY_SEPARATOR ??
    Si non, qu'est-ce donc ?

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2010
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 144
    Points : 241
    Points
    241
    Par défaut
    Il semblerait que l'utilisation de la constante DIRECTORY_SEPARATOR ne soit plus nécessaire, le caractère / devrait permettre au script de fonctionner correctement.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci, comme ça c'est clair.

  7. #7
    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
    Sur un serveur windows par exemple DIRECTORY_SEPARATOR vaut '\'
    Si tu mets manuellement '/' ça ne sera pas bon.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [AC-2007] Incohérence avec la fonction WeekDayName ?
    Par Tipstitou dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/09/2010, 11h57
  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. Problème avec la fonction is_dir()
    Par TeK55 dans le forum Langage
    Réponses: 4
    Dernier message: 23/05/2007, 07h57
  4. Réponses: 13
    Dernier message: 20/03/2003, 08h11
  5. [VBA-E] avec une fonction value
    Par laas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2002, 13h22

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