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 :
- <?php
- function list_dir($name, $handle) {
- if($dir = opendir($name)) {
- while($file = readdir($dir)) {
- if(!in_array($file, array(".", ".." ))
- && !ereg("Communication", $file)
- && !ereg("DAAF", $file)
- && !ereg("Fiscal", $file)
- && !ereg("LIVRET D'ACCUEIL", $file)
- ) {
- //dossier
- if(is_dir($name."/".$file)) {
- echo "<b>dossier : ".$name."\\".$file."</b><br>\n";
- list_dir($name."\\".$file, $handle);
- }
- //fichier
- else {
- echo "fichier ".$name."\\".$file."<br>";
- $csv=$name.";".$file.";".date("Y-m-d H:i:s", filemtime($name."\\".$file)).";;;;;\r\n";
- fwrite($handle, $csv);
- }
- }
- }
- closedir($dir);
- }
- }
- $handle = fopen("fichiers.csv", "w+" );
- list_dir("X:\\", $handle);
- echo "Fini";
- fclose($handle);
- ?>
|
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 !