Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/02/2008, 16h08   #1
Invité régulier
 
Étudiant
Inscription : mai 2007
Messages : 65
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2007
Messages : 65
Points : 5
Points : 5
Par défaut Récupération de noms de dossier, sous dossier, fichiers..

Bonjour,
voila mon programme.
Code :
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
// Ouverture du répetoire courant
$handle = opendir("C:wamp/www/chargement_archi/fichiers");
// Parcours des fichiers et dossiers du répertoire courant
while($file = readdir($handle)) {
    if($file != "." && $file != "..") {
        $files[] = $file;
    }
}
// Fermeture du répertoire courant
closedir($handle);
// Affichage des fichiers et dossiers triés
foreach($files as $v) {
	echo  "Dossier chargement: " . $v . "<br />";
	$handle1 = opendir("C:wamp/www/chargement_archi/fichiers/" .$v);
	while($file1 = readdir($handle1)) {
		if($file1 != "." && $file1 != "..") {
			$files1[] = $file1;
		}
	}
	closedir($handle1);
	if ($v=='AR'){
		foreach($files1 as $v1) {
			echo " Date: " . $v1 . "<br />";
			$handle2 = opendir("C:wamp/www/chargement_archi/fichiers/AR/" .$v1);
			while($file2 = readdir($handle2)) {
				if($file2 != "." && $file2 != "..") {
					$files2[] = $file2;
				}
			}
			closedir($handle2);
			foreach($files2 as $v2) {
				if (substr($v2,0,1)=='R'){
					echo $v2. "<br>";
				}
				else {
					echo "Compagnie: " .$v2 . "<br>";
					$handle3 = opendir("C:wamp/www/chargement_archi/fichiers/AR/" .$v1. "/" .$v2);
					while($file3 = readdir($handle3)) {
						if($file3 != "." && $file3 != "..") {
							$files3[] = $file3;
						}
					}
					closedir($handle3);
					foreach($files3 as $v3){
						echo $v3 . "<br>";
					}
				}
			}
		}
	}
}
?>
Alors ce programme permet de récupérer les noms des sous dossiers d'un dossier ainsi que les dossiers présents dedans et les fichiers (très clair ce que je viens de dire!). J'explique j'ai ce chemin C:wamp/www/chargement_archi/fichiers/ qui m'amène à un dossier "fichiers", dans ce dossier ya deux sous dossiers AR ou NPAI (pour l'instant mon programme ne traite que les AR) et dans ce dossier AR y a plusieurs autre dossier avec des noms de dates styles 20070918 et dans ces dossiers y a soit que des fichiers, soit des dossiers avec des noms de compagnies et dans ces dossiers des fichiers, ca s'arrete là!!! Mon programme fonctionne, dans le sens où il récupère bien tout mais le problème c'est que quand il affiche on voit qu'il récupère bien les fichiers du premier dossier, que dans le deuxieme il affiche aussi les fichiers du premier et que dans le dernier il affiche les fichiers des précédents mais pas ceux du dossier (c'est clair??)
Si quelqu'un voit où est le problème, je veux bien son aide!!!
Merci d'avance!
valouche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2008, 18h22   #2
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
J'ai parcouru ton code à la diagonal mais déjà ce que je te conseillerai c'est d'utiliser la recursivité. c'est nettement mieux (je trouve)
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h29.


 
 
 
 
Partenaires

Hébergement Web