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 :

Compter le nombre de fichier dans un dossier


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Points : 48
    Points
    48
    Par défaut Compter le nombre de fichier dans un dossier
    Bonjour,
    Est ce que quelqu'un connait une fonction qui permet de compter le nombre de fichier contenu dans un dossier?
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 217
    Points
    8 217
    Billets dans le blog
    17
    Par défaut
    Cette fonction n'existe pas.
    Par contre tu peux récupérer les fichiers d'un répertoire dans un tableau PHP avec glob( ) et compter le nbre de fichiers avec count( ).
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Si tu utilises PHP5, scandir liste les fichiers d'un dossier.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Bonjour,

    Pour ajouter une fonction non citee, personnellement, j'utilise l'objet RecursiveIteratorIterator pour parcourir un dossier.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $compteur = 0;
    $element = "monDossier";
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($element));
     
    foreach ($iterator as $key=>$value) $compteur++;
     
    print $compteur;
    Mais maintenant que je relis ce code, je me rappelle plus bien pourquoi je met un instance de l'objet dans une autre ^^. En tous cas, ca marche pas sans. Un petit diagramme ici : http://www.php.net/~helly/php/ext/sp...rIterator.html
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


  5. #5
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 74
    Points : 48
    Points
    48
    Par défaut
    Merci beaucoup tout le monde mais surtout à keaton2000. Ta solution marche parfaitement.

  6. #6
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Je me permet d'ajouter un bemol, new RecursiveIteratorIterator(new RecursiveDirectoryIterator($element)) va compter le nombre de fichiers dans le dossier en parametre ET ses sous-dossiers. Ca peut etre un plus mais ca peut egalement fausser tes calculs en fonction de ce que tu cherches a evaluer.

    Par exemple dans l'arborescence :
    monDossier/
    |fichier.txt
    |fichier2.txt
    |sousDossier/
    ||fichier3.txt
    |fichier4.txt
    Il va te compter 4 fichiers en evaluant "monDossier/". A toi de faire un test dans ta boucle. Il existe peut-etre un paramètre de RecursiveDirectoryIterator($element) qui permet de ne pas visiter les sous dossiers mais a en lire son nom, ca a l'air d'etre fait pour ca
    Spécialité : Développement WEB
    Indispensables : Doc PHP ~ Doc MySQL ~ w3schools ~ validateurs W3C ~ Google Adwords ~ PHP-Tester


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

Discussions similaires

  1. [Python 2.X] Compter le nombre de fichier dans un dossier
    Par la_fouine1806 dans le forum Général Python
    Réponses: 4
    Dernier message: 13/11/2014, 10h19
  2. [XL-2007] Compter le nombre de fichier dans un dossier sharepoint
    Par housemiouzic dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 06/02/2012, 17h07
  3. Compter le nombre de fichier dans le dossier courrant
    Par FotoXe33 dans le forum Langage
    Réponses: 2
    Dernier message: 18/02/2010, 23h04
  4. Compter le nombre de fichiers dans un dossier et passer au suivant
    Par VictoriusDan dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/01/2010, 21h43
  5. Compter le nombre de fichiers dans un dossier.
    Par EriCstoFF dans le forum Scripts/Batch
    Réponses: 10
    Dernier message: 23/10/2009, 17h22

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