Code-Snippets » Ordner auslesen mit PHP

Ordner auslesen mit PHP

Um einen Ordner mit PHP auszulesen und die Dateien in einer Baumstruktur auszugeben, kannst du rekursive Funktionen verwenden. Hier ist ein Beispiel, wie du das machen könntest:

Code anklicken zum kopieren

<?php
// Funktion, um einen Ordner und seine Dateien rekursiv auszulesen
function listDirectory($directory) {
// Öffne den Ordner
$handle = opendir($directory);

// Beginne die Baumstruktur
echo "<ul>";

// Durchlaufe alle Einträge im Ordner
while (false !== ($entry = readdir($handle))) {
// Überspringe die Punkte für das aktuelle und das darüberliegende Verzeichnis
if ($entry == "." || $entry == "..") {
continue;
}

// Pfade für Dateien und Unterverzeichnisse erstellen
$path = $directory . "/" . $entry;

// Wenn es sich um ein Verzeichnis handelt, rufe die Funktion rekursiv auf
if (is_dir($path)) {
echo "<li><strong>$entry</strong>";
listDirectory($path);
echo "</li>";
} else {
// Wenn es sich um eine Datei handelt, gib sie einfach aus
echo "<li>$entry</li>";
}
}

// Schließe den Ordner
closedir($handle);

// Beende die Baumstruktur
echo "</ul>";
}

// Ordner, den du auslesen möchtest
$directory = "dein_verzeichnis";

// Funktion aufrufen, um den Ordner auszulesen und eine Baumstruktur zu generieren
listDirectory($directory);
?>

Code anklicken zum kopieren



Ersetze dein_verzeichnis durch den Pfad des Ordners, den du auslesen möchtest. Die Funktion listDirectory() durchläuft rekursiv den angegebenen Ordner und seine Unterverzeichnisse. Dabei werden die Dateien und Unterverzeichnisse in einer HTML-Liste ausgegeben, die eine Baumstruktur darstellt.

Diese Methode ist besonders nützlich, wenn du einen Datei-Explorer oder eine ähnliche Anwendung entwickelst, bei der die Benutzer die Ordnerstruktur durchsuchen müssen. Beachte jedoch, dass diese Funktionen je nach Anwendung angepasst und erweitert werden können.


Du darfst dieses Snippet kostenlos und uneingeschränkt nutzen, einschließlich kommerzieller Zwecke! Ich würde mich sehr darüber freuen, wenn du als kleine Geste der Anerkennung einen Link zu meiner Webseite auf deiner eigenen Seite platzieren könntest. Vielen Dank! :)