Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1442 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème de recursivité et is_dir

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de recursivité et is_dir

n°1465993
Surfoo
Ça va ? ok.
Posté le 27-10-2006 à 11:28:57  profilanswer
 

Bonjour,
 
Je dois récupérer un adresse de fichier, son nom et sa taille à partir d'un lecteur réseau et le tout en récursif.
L'ensemble fonctionne très bien sauf jusqu'à un certain point : Ca bloque sur un fichier et ensuite ça bug....
 
explication :
 
Voilà le code source :

Code :
  1. <?php
  2. function list_dir($name, $handle) {
  3. if($dir = opendir($name)) {
  4.  while($file = readdir($dir)) {
  5.   if(!in_array($file, array(".", ".." ))
  6.       && !ereg("Communication", $file)
  7.       && !ereg("DAAF", $file)
  8.       && !ereg("Fiscal", $file)
  9.       && !ereg("LIVRET D'ACCUEIL", $file)
  10.      ) {
  11.    //dossier  
  12.    if(is_dir($name."/".$file)) {
  13.     echo "<b>dossier : ".$name."\\".$file."</b><br>\n";
  14.     list_dir($name."\\".$file, $handle);
  15.    }
  16.    //fichier
  17.    else {
  18.     echo "fichier ".$name."\\".$file."<br>";
  19.     $csv=$name.";".$file.";".date("Y-m-d H:i:s", filemtime($name."\\".$file)).";;;;;\r\n";
  20.     fwrite($handle, $csv);
  21.    }
  22.   }
  23.  }
  24.  closedir($dir);
  25. }
  26. }
  27. $handle = fopen("fichiers.csv", "w+" );
  28. list_dir("X:\\", $handle);
  29. echo "Fini";
  30. fclose($handle);
  31. ?>


 
et là, ce qu'il y a sur la page web :

Citation :


dossier : X:\\Réformes\Propositions de réforme
dossier : X:\\Réformes\Propositions de réforme\Réformes 1994
dossier : X:\\Réformes\Propositions de réforme\Réformes 1994\Réformes closes
dossier : X:\\Réformes\Propositions de réforme\Réformes 1994\Réformes closes\Réformes closes en abandon
dossier : X:\\Réformes\Propositions de réforme\Réformes 1994\Réformes closes\Réformes closes en abandon\94-R034 STR 94.02 Modification du champ d'application de la majoration de la durée d'assurance vieillesse pour enfant
dossier : X:\\Réformes\Propositions de réforme\Réformes 1994\Réformes closes\Réformes closes en abandon\94-R034 STR 94.02 Modification du champ d'application de la majoration de la durée d'assurance vieillesse pour enfant\Clôture 94-R034 STR94.02 maj° durée assurance.doc
dossier : X:\\Réformes\Propositions de réforme\Réformes 1994\Réformes closes\Réformes closes en abandon\94-R034 STR 94.02 Modification du champ d'application de la majoration de la durée d'assurance vieillesse pour enfant\Clôture 94-R034 STR94.02 maj° durée assurance.doc\actus.php
dossier : X:\\Réformes\Propositions de réforme\Réformes 1994\Réformes closes\Réformes closes en abandon\94-R034 STR 94.02 Modification du champ d'application de la majoration de la durée d'assurance vieillesse pour enfant\Clôture 94-R034 STR94.02 maj° durée assurance.doc\actus.php\actus.php
dossier : X:\\Réformes\Propositions de réforme\Réformes 1994\Réformes closes\Réformes closes en abandon\94-R034 STR 94.02 Modification du champ d'application de la majoration de la durée d'assurance vieillesse pour enfant\Clôture 94-R034 STR94.02 maj° durée assurance.doc\actus.php\actus.php\actus.php
dossier : X:\\Réformes\Propositions de réforme\Réformes 1994\Réformes closes\Réformes closes en abandon\94-R034 STR 94.02 Modification du champ d'application de la majoration de la durée d'assurance vieillesse pour enfant\Clôture 94-R034 STR94.02 maj° durée assurance.doc\actus.php\actus.php\actus.php\actus.php
dossier : X:\\Réformes\Propositions de réforme\Réformes 1994\Réformes closes\Réformes closes en abandon\94-R034 STR 94.02 Modification du champ d'application de la majoration de la durée d'assurance vieillesse pour enfant\Clôture 94-R034 STR94.02 maj° durée assurance.doc\actus.php\actus.php\actus.php\actus.php\actus.php
[...]


Le script plante au bout de quelques secondes.
 
A noter que ça fonctionne très bien pour d'autre dossier, mais là au niveau du fichier doc le is_dir croit que c'est un répertoire.... De plus, ça boucle sur le fichier actus.php qui est au même niveau que le script -_-
 
Le dossier et les fichiers qui bug sont en lecture seule, est ce que ça serais ça le problème ?
 
 
Merci de votre aide !

mood
Publicité
Posté le 27-10-2006 à 11:28:57  profilanswer
 

n°1466815
supermofo
Hello World !
Posté le 29-10-2006 à 12:10:20  profilanswer
 

Je pense pas.
 
Essaye ton script sur des chemins plus simples. C'est peut être un problème de jeu de caractères.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème de recursivité et is_dir

 

Sujets relatifs
Problème de fenêtre d'erreur lors de la compilationProbleme envoi mail html
probleme de téléchargement en PHP[C++ DLL] problème de linkage
[Débutant C] Problème aprés bonne compilationPetit probleme de récursivité entre deux appels de sub
Arbre et recursivite : petit probleme a l'executionRecursivité >> Problème important...
probleme de recursivitepetit probleme de recursivité
Plus de sujets relatifs à : Problème de recursivité et is_dir


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR