Bonjour,
j'ai une arborescence, par exemple
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 -+--- rep1 | | | +--- rep11 | | | | | +---f1 | | +---f2 | +--- rep12 | | | | | +--- f3 | +--- rep13 +--- rep2 | | | +--- rep21 | +--- rep22 +--- rep3
le script perl suivant:
me donne le résultat incomplet suivant
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 use strict ; sub repertoire { my ( $rep,$niv)=@_; opendir D , "$rep" or die "Erreur:$!\n"; my $entry ; while ( $entry = readdir(D)) { if ( $entry ne "." && $entry ne ".." ) { print " " x $niv , "$entry\n"; if ( -d "$rep/$entry" ) { repertoire("$rep/$entry",$niv+1); } } } closedir D ; } repertoire(".",0);
Le script php équivalent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 rep1 rep11 f1 f2
donne le bon résultat:
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 <?php function ScanDirectory($Directory,$niv){ $MyDirectory = opendir($Directory) or die('Erreur'); while($Entry = readdir($MyDirectory)) { if ( $Entry != '.' && $Entry != '..' ) { for ( $i=1;$i<=$niv;$i++){ echo " "; } echo "$Entry\n"; if(is_dir($Directory.'/'.$Entry) ) { ScanDirectory("$Directory/$Entry",$niv+1); } } } closedir($MyDirectory); } ScanDirectory('.',0); ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 rep1 rep11 f1 f2 rep12 f3 rep13 rep2 rep21 rep22 rep3
Merci de votre aide
Partager