PHP: Verzeichnisse rekursiv auslesen

Das folgende Snippet liest die Dateien des angegeben Ordner rekursiv aus.

Download des Beispiels

 <?php

 //Aktuellen Pfad ermitteln
 $path = getcwd();

 $html = "<div>\n";
 $html .= readDirectory(new DirectoryIterator( $path . "/verzeichnis"));
 $html .= "</div>";

 /**
  Auslesen des Verzeichnisses
 */
 function readDirectory( DirectoryIterator $dir )
 {  
   $str = "<ul>\n";
   foreach ( $dir as $node )
   {
     //Überprüfung ob es Verzeichnis oder Datei
     if ( $node->isDir() && !$node->isDot())
     {      
        $str .= "<li>" . $node->getFileName() . "\n";

        $str .= "<ul>\n";

        //Unterzeichnisse auslesen
        $str .= readDirectory( new DirectoryIterator( $node->getPathname() ) );

            $str .= "</li>\n";
       $str .= "</ul>\n";
     }
     else if ( $node->isFile() )
     {
        //Es ist eine Datei, hier können spezielle Behandlungen für Dateien eingefügt werden      
        $str .= "<li>" . $node->getFilename() . "</li>\n";
     }
   }
   $str .= "</ul>\n";
   return $str;
 }

 //Ausgabe
 echo $html;
 ?>

Ausgabe des Beispiels

  • dropzone upload file.png
  • unterverzeichnis1
    • logo.jpg
    • logo.png
    • unterverzeichnis2
    • welcome.png


Datenschutzerklärung | Impressum