dir uitlezen submappen en submappen van submappen weergeven
Ik ben bezig met mijn fotobeheer
daarin heb ik een deel dat een map uitleest en de submappen als option in mijn form weergeeft.
De onderstaande code heb ik maar deze doet het niet wat doe ik fout ?
Ik krijg als uitvoer 2 keer een lege option
Ik heb voor het testen een submap met daarin nog een map
Code (php)
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
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
<?php
$dir = opendir($hoofddir);
while($sub_dir = readdir($dir)) {
if($sub_dir != ".." && $sub_dir != "thumbs" && !is_file($sub_dir) && is_dir($hoofddir.$sub_dir))
$files[]=$sub_dir;}
$dir = opendir($hoofddir.$sub_dir);
while($sub_dir2 = readdir($dir)) {
if($sub_dir2 != ".." && $sub_dir2 != "thumbs" && !is_file($sub_dir2) && is_dir($hoofddir.$subdir.$sub_dir2))
$files[]=$sub_dir.$subdir2;}
{ natcasesort($files);
foreach ($files as $sub_dir)
echo "<option value='". $sub_dir ."'>". $sub_dir ."</option>";
}
closedir($dir);
?>
$dir = opendir($hoofddir);
while($sub_dir = readdir($dir)) {
if($sub_dir != ".." && $sub_dir != "thumbs" && !is_file($sub_dir) && is_dir($hoofddir.$sub_dir))
$files[]=$sub_dir;}
$dir = opendir($hoofddir.$sub_dir);
while($sub_dir2 = readdir($dir)) {
if($sub_dir2 != ".." && $sub_dir2 != "thumbs" && !is_file($sub_dir2) && is_dir($hoofddir.$subdir.$sub_dir2))
$files[]=$sub_dir.$subdir2;}
{ natcasesort($files);
foreach ($files as $sub_dir)
echo "<option value='". $sub_dir ."'>". $sub_dir ."</option>";
}
closedir($dir);
?>
mvg Jonas
Gebruik
while( ($file = readdir($dh) !== false)
Ook zul je door de subdir heen moeten lopen, je zult dus de readdir in de readdir moeten nesten.
Code (php)
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
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
<?php
// while($sub_dir = readdir($dir)) {
$dir = opendir($hoofddir);
while (false !== ($sub_dir = readdir($dir))) {
if($sub_dir != ".." && $sub_dir != "thumbs" && !is_file($sub_dir) && is_dir($hoofddir.$sub_dir)){
$files[]=$sub_dir;
}
{ natcasesort($files);
foreach ($files as $sub_dir)
$dir2 = opendir($hoofddir.$sub_dir);
while (false !== ($sub_dir2 = readdir($dir2))) {
if($sub_dir2 != ".." && $sub_dir2 != "." && $sub_dir2 != "thumbs" && !is_file($sub_dir2) && is_dir($hoofddir.$sub_dir.'/'.$sub_dir2)){
$files[]=$sub_dir.'/'.$sub_dir2 ;
}
}
}
}
{ natcasesort($files);
foreach ($files as $sub_dir)
echo "<option value='". $sub_dir ."'>". $sub_dir ."</option>";
}
closedir($dir);
closedir($dir2);
?>
// while($sub_dir = readdir($dir)) {
$dir = opendir($hoofddir);
while (false !== ($sub_dir = readdir($dir))) {
if($sub_dir != ".." && $sub_dir != "thumbs" && !is_file($sub_dir) && is_dir($hoofddir.$sub_dir)){
$files[]=$sub_dir;
}
{ natcasesort($files);
foreach ($files as $sub_dir)
$dir2 = opendir($hoofddir.$sub_dir);
while (false !== ($sub_dir2 = readdir($dir2))) {
if($sub_dir2 != ".." && $sub_dir2 != "." && $sub_dir2 != "thumbs" && !is_file($sub_dir2) && is_dir($hoofddir.$sub_dir.'/'.$sub_dir2)){
$files[]=$sub_dir.'/'.$sub_dir2 ;
}
}
}
}
{ natcasesort($files);
foreach ($files as $sub_dir)
echo "<option value='". $sub_dir ."'>". $sub_dir ."</option>";
}
closedir($dir);
closedir($dir2);
?>
Dat schijnt te werken