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 tous les fichiers d'un dossier contenant des sous dossiers


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut Lister tous les fichiers d'un dossier contenant des sous dossiers
    Bonjour à tous,

    Je voudrais mettre dans un tableau l'adresse de tous les fichiers d'un dossier contenant des sous dossiers.

    J'ai créée un fichier php avec ca dedans
    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
     
    <?
    function ScanDir($Directory){
     
    	$MyDirectory = opendir($Directory);
     
    	while($Entry = readdir($MyDirectory)) {
     
     		if(is_dir($Entry)){
    			ScanDir("$Entry/$Directory");
     
    		}	elseif ($Entry != "." && $Entry != "..") {
     
     
               		$table[$i] = $Entry;
               		$i++;
           		}
       	}
     
     
    	closedir($MyDirectory);
     
    }
    mais quand j'appele ma fonction dans ma page HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ScanDir("mon_repertoire")
    j'ai le message d'erreur suivant
    Fatal error: Cannot redeclare scandir() in ma_page.php on line 22
    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    il se trouve simplement que scandir est une fonction déja existante de PHP : http://fr.php.net/manual/fr/function.scandir.php

    et que donc, il est pas super d'accord pour la re-définir
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  3. #3
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut
    ok merci, evidement en changeant de nom ca marche mieux

  4. #4
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut
    Bon j'ai un autre soucis concernant toujours le meme problème.

    Voila ce que je veux faire : Je voudrais mettre dans un tableau l'adresse de tous les fichiers d'un dossier contenant des sous dossiers.

    Voila mon 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
    18
    19
    20
    function ListeRep($Directory){
    if (is_dir($Directory) && is_readable($Directory)) {
    	if($MyDirectory = opendir($Directory)) {
    	while($Entry = readdir($MyDirectory)) {
    		if (is_dir($Directory."/".$Entry)) {
    			if (($Entry != ".") && ($Entry != "..")) {
    				ListeRep("$Directory/$Entry");
    			}
    		}else 	{
    			$table[$i] = "$Directory/$Entry";
               		$i++;
     
    		}
    	}
     
    	}
    closedir($MyDirectory);
    }
    }
    ?>
    En fait j'ai un problème avec la varaible $i de mon tableau. Lorsque j'ai un seul fichier dans mes sous dossiers celle ci ne s'initialise pas et lorsque j'en ai plusieu, alors là elle s'incrémente. Cela doit vouloir dire qu'a chaque fois que j'appelle la fonction $i est remise à nulle.
    Comment faire qu'elle s'incrémente tout le temps.
    PS: Si quelqu'un a un outil pour débugger du php ce serait utile dans mon cas
    Merci d'avance

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778

Discussions similaires

  1. [Batch] Déplacer les fichiers des dossiers et des sous dossiers vers un autre dossier
    Par mathou115 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 25/06/2014, 10h17
  2. Réponses: 0
    Dernier message: 01/02/2010, 14h51
  3. Lister tous les fichiers texte d'un dossier
    Par Vincinho dans le forum Windows Forms
    Réponses: 7
    Dernier message: 14/12/2009, 17h20
  4. lister tous les fichiers avec des différences entre deux répertoires.
    Par contremaitre dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 13/03/2008, 15h24
  5. Lister tous les fichiers ordinaires accessibles par tout utilisateur
    Par superjesus dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 16/01/2008, 07h23

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