opendir voor folder en 1e subfolder

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wim Selles

Wim Selles

30/03/2009 13:39:00
Quote Anchor link
Hallo,

Ik heb een vraag. Met een php script wil ik de een tree-view maken van een folder op mijn server. de bedoeling is dat als ik in de folder waar ik in zoek (folder:base) alle folders(folder 1) weergeef en alleen de 1e subfolders (folder 1a-z) van folder 1 laat zien. Dus bijv:

Folder base= root

Folder 1 bevat:
-subfolder 1a
-subfolder 1b
-subfolder 1c
-subfolder 1d

Folder 2 bevat:
-subfolder 2a
-subfolder 2b
-subfolder 2c
enz.

Ik dacht dit te kunnen doen met onderstaand script, maar er gaat iets fout:

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
<ul>
<?php
$dir
= "files/";  // mijn basefolder
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
  while (($file = readdir($dh)) !== false) {
   $files[] = trim($file);
  }

  sort($files);
  foreach($files as $file){
   if ($file != "." && $file != ".." && is_dir($dir.$file)){
    // laat de eerste laag zien, dus folder 1, folder 2 enz
    echo '<li>'.$file;
     if ($dh_sub = opendir($dir.$file)) {
      while (($file_sub = readdir($dh_sub)) !== false) {
       $files_sub[] = trim($file_sub);
      }

      sort($files_sub);
      echo '<ul>';
      foreach($files_sub as $file_sub){
       if ($file_sub != "." && $file_sub != ".." && $file_sub != "" && is_dir($dir.$file.'/'.$file_sub)){
       // laat de subdirectories van folder 1, folder2 zien
        echo '<li>'.$file_sub;
        echo '</li>';
       }
      }

      echo '</ul>';
     }
  
    echo '</li>';
   }
  }
 }
}

?>

</ul>


Wat hij nu weergeeft is dit:
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
<ul>
  <li>Folder 1
      <li>subfolder 1a</li>
      <li>subfolder 1b</li>
      <li>subfolder 1c</li>
      <li>subfolder 1d</li>
  </li>
  <li>Folder 2
    <ul>
      <li>subfolder 1a</li>
      <li>subfolder 1b</li>
      <li>subfolder 1c</li>
      <li>subfolder 1d</li>
      <li>subfolder 2a</li>
      <li>subfolder 2b</li>
      <li>subfolder 2c</li>
    </ul>
  </li>
</ul>


Alleen wil ik niet dat hij de subfolders uit folder 1 bij de subfolders van folder 2 laat zien.

Wat doe ik fout.

tnx

Wim
Gewijzigd op 01/01/1970 01:00:00 door Wim Selles
 
PHP hulp

PHP hulp

25/11/2024 00:05:20
 
- SanThe -

- SanThe -

30/03/2009 13:49:00
Quote Anchor link
Heb je hier misschien wat aan?
 
Wim Selles

Wim Selles

30/03/2009 13:53:00
Quote Anchor link
Tnx SanThe

Ik denk het wel, maar als ik het goed begrijp geeft hij nu alle mappen terug die in bijvoorbeeld folder 1 staan, plus alle submappen en eventueel hun submappen?

Zo ja, als ik meer dan 100 mappen en bestanden in mijn base heb staan, krijg ik dan geen timeout omdat het zoeken er lang kan duren?
 
- SanThe -

- SanThe -

30/03/2009 13:55:00
Quote Anchor link
Probeer het, zou ik zeggen.
 
Wim Selles

Wim Selles

30/03/2009 14:00:00
Quote Anchor link
tnx :D,

maar ik wil het in een soort online ajax explorer verwerken die ik voor mijn eigen site wil maken. En dan wil ik er straks niet achter komen dat ik een timeout krijg.

Ik ga er wel mee stoeien, tnx, maar weet jij misschien ook waarom mijn script geen goede waarden teruggeeft?

Ik zou namelijk graag willen weten wat ik fout doe
 



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.