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 :

Problème avec is_dir et is_file


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Points : 143
    Points
    143
    Par défaut Problème avec is_dir et is_file
    Bonjour,
    J'ai un problème avec is_dir() et is_file(). Il indique des répertoires (et aussi des fichiers) comme n'étant ni des fichiers, ni des dossiers. Mon script est très simples, mais j'ai tout de même fait un test en supprimant tout le superflu, et le problème persiste. Problème sur Windows et Linux, PHP 4 et 5.

    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
    <?php
     
    $handle = opendir('fichiers'); // On ouvre le dossier
     
    while($repertoire = readdir($handle)) // On lit le dossier
    {
    	if(is_dir($repertoire))
    	{
    	$type = "(D)";
    	}
    	else if(is_file($repertoire))
    	{
    	$type = "(F)";
    	}
    	else
    	{
    	$type = "(A)";
    	}
     
    	echo "$repertoire $type<br />\n"; // On affiche la liste des noms des dossiers
    }
    closedir($handle); // On ferme le dossier
     
    ?>
    Voici le lien de test : [lien supprimé]

    Le problème ne se pose pas pour le dossier courant opendir('./');
    Vous allez me dire que c'est un problème avec la syntaxe du dossier, mais le problème persiste que je mette ./fichiers, ./fichiers/, fichiers/ ou fichiers. Les dossiers n'ont aucun espace, aucun caractère spécial ou autre.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2006
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    Bonjour !
    Alors pr le resultat de ton script , il reconnais les dir .
    sinon pour les fichiers essaye de les mettre ds un tableau c mieux comme ca si tu veux les afficher par ordre alphabetique ou autre tu peux bien les manipuler grace aux fonctions PHP !
    sinon pour ton code essaye ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    While($repertoire = readdir($handle)!=false) {
                   if($repertoire != ".." && $repertoire != ".")
           {
             $filelist[] = $repertoire ;
           }
    }
    /* et apres tu affiche ta liste de fichiers contenu ds le dossier ... */
    Car ton test if(is_file($repertoire)) n'est pas bon ,
    bref essaye ca : if(is_file($dossier.$repertoire))
    avec $dossier='fichiers' si c bien ca
    a+

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Points : 143
    Points
    143
    Par défaut
    Citation Envoyé par luminien
    Bonjour !
    Alors pr le resultat de ton script , il reconnais les dir .
    Où tu as vu qu'il reconnaissait les répertoires ? On ne doit pas avoir le même script. Moi, je vois çà.

    fgdfgfgfdf (A)------> dossier non reconnu !
    bvcnbjnfjhy (A)------> dossier non reconnu !
    robots.txt (A)
    style.css (A)
    test (A)------> dossier non reconnu !
    Il ne reconnaît que "." et ".." comme des dossiers.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2006
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    Re :
    Voila je viens de tester et ca marche :
    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
    <?php
     
    $dir="Fichiers/" ;
    $handle = opendir($dir); // On ouvre le dossier
     
    while($repertoire = readdir($handle)) // On lit le dossier
    {
    	if(is_dir($dir.$repertoire))
    	{
    	$type = "(D)";
    	}
    	else if(is_file($dir.$repertoire))
    	{
    	$type = "(F)";
    	}
    	else
    	{
    	$type = "(A)";
    	}
     
    	echo "$repertoire $type<br />\n"; // On affiche la liste des noms des dossiers
    }
    closedir($handle); // On ferme le dossier
     
    ?>

    PS: n'oubli pas RESOLU

  5. #5
    Membre régulier Avatar de Squalthor
    Homme Profil pro
    Autodidacte
    Inscrit en
    Juillet 2006
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Juillet 2006
    Messages : 176
    Points : 103
    Points
    103
    Par défaut
    Merci Luminien, tu m'as aidé en apportant la réponse à mon problème.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2006
    Messages : 67
    Points : 67
    Points
    67
    Par défaut
    De rien !
    en voila un vrai habitué

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

Discussions similaires

  1. [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
  2. Problème avec is_file
    Par Portus dans le forum Langage
    Réponses: 4
    Dernier message: 02/11/2007, 11h38
  3. Problème avec la fonction is_dir()
    Par TeK55 dans le forum Langage
    Réponses: 4
    Dernier message: 23/05/2007, 07h57
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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