dir uitlezen submappen en submappen van submappen weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hoekman jonas

hoekman jonas

07/08/2007 23:17:00
Quote Anchor link
Hallo
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);

 

?>


mvg Jonas
 
PHP hulp

PHP hulp

22/12/2024 17:08:15
 
Storeman storeman

storeman storeman

07/08/2007 23:44:00
Quote Anchor link
Je bent in beginsel al fout bezig. Kijk eens naar de functie readdir op php.net. Dan zie je dat je op die manier niet door de mappen heen moet lopen.

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.
 
Hoekman Jonas

Hoekman Jonas

09/08/2007 20:57:00
Quote Anchor link
Hallo is dit soms hoe het juist moet ?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);
?>


Dat schijnt te werken
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.