2016-05-24 6 views
1

ich eine Liste von Verzeichnissen bevölkern (die Verzeichnisse werden dynamisch erstellt)PHP - Anzeige Ordner und Unterordner nur in einer bestimmten Tiefe

 $dir = new RecursiveDirectoryIterator('./../data', 
      FilesystemIterator::SKIP_DOTS); 


     $it = new RecursiveIteratorIterator($dir, 
      RecursiveIteratorIterator::SELF_FIRST); 

     $it->setMaxDepth(1); 


     foreach ($it as $fileinfo) { 
      if ($fileinfo->isDir()) { 
       printf("Folder - %s\n", $fileinfo->getFilename()); 
       $display2 = sprintf('<option id="optionPHP" class="optionPHP" data-icon="glyphicon-time" value="%s">%s</option>' . PHP_EOL, $fileinfo->getFilename(), $fileinfo->getFilename()); 
       echo $display2; 
      } 
     } 

Es zeigt alle Ordner in ‚Daten‘ Ordner. Die Sache ist, ich will in der Tiefe nur Verzeichnisse angezeigt werden ../ Daten/Vetri/vetriselvi1

folder path

Grunde möchte ich nur Ordner auf dieser Ebene füllen .. wie vetriselvi1, vetriselvi2 ..etc. Wie mache ich das?

+0

Ändere '../ data' in' ../ data/Vetri' in '$ dir = new RecursiveDirectoryIterator (.....'. – Darren

+1

Die Sonne fängt an irgendwo unterzugehen @Darren ;-) laut^(gib es Zeit). –

+0

haha ​​@ Fred-ii- gerade gegangen 7.30 Uhr 'hier ;-) – Darren

Antwort

0

So habe ich einen Umweg, um etwas zu erreichen, was ich wollte:

foreach ($it as $fileinfo) { 
       if ($fileinfo->isDir()) { 
        if (preg_match("/_/",$fileinfo->getFilename()) || preg_match("/--Select Option--/",$fileinfo->getFilename())) { 
        $display2 = sprintf('<option id="optionPHP" class="optionPHP" data-icon="glyphicon-time" value="%s">%s</option>' . PHP_EOL, $fileinfo->getFilename(), $fileinfo->getFilename()); 
        echo $display2; 
        } 
       } 

habe ich versucht, mit einem Charakter der dynamisch erstellten Ordner verketten (zum Beispiel hier „_“), tat dann ein Regex .

Verwandte Themen