Ordner durchsuchen

Sasser

Erfahrenes Mitglied
Ordner und Unterordner durchsuchen

Guten Morgen!

Ich habe ca. 250 Ordner mit Templates. Nun möchte ich gern per PHP diese Ordner nach Dateien mit der Endung ".html" und ".htm" auslesen und den Link dazu ausgeben lassen.

Das ist mein Anfang, aber wie gehe ich in die Tiefe?

PHP:
$folder = opendir ( "./" );
while ( $data = readdir ( $folder ) ) {
	
	echo $data;
	
}

Vielen Dank für eure Hilfe.
 
Zuletzt bearbeitet:
in etwa so

PHP:
<?php 

$startPath = dirname(__FILE__).'/./';
$extensions = array('htm', 'html');

var_dump(getTreeFolders($startPath, $extensions));

function getTreeFolders($path, $extensions) {
    $ret = array();
    $entries = scandir($path);
    foreach($entries as $entry){
            $entryPath = $path.'/'.$entry;           
        if($entry[0] == '.'){
            //Alle Einträge die mit . beginnen ignorieren
        } elseif(is_dir($entryPath)){
            //Wenns ein Ordner ist, diesen ebenfalls durchsuchen
             $ret = array_merge($ret, getTreeFolders($entryPath, $extensions));  
        } elseif(is_file($entryPath)) {
            //Dateininformationen auslesen
            $path_parts = pathinfo($entryPath);
            //Endung auslesen
            $extension = $path_parts["extension"];
            //Prüfen ob die Endung in der Liste ist und ggf. den ganzen Pfad dem Return-Array hinzufügen
            if(in_array($extension, $extensions, false))  $ret[] = $entryPath;
        }
    }
    return $ret;    
} 

?>
 
Zuletzt bearbeitet:
Vielen Dank für deine Mühe ;)

Genau das habe ich gesucht. Ein bisschen umgeschrieben und erweitert und schon enspricht es meinen Vorstellungen.

Wusste gar nicht, dass es die Funktion scandir() gibt :D
 
Zurück