PHP 4.3

11.3.1 Verzeichnisse auslesen

Damit Verzeichnisse gelesen werden können, müssen sie, analog zur Verfahrensweise bei Dateien, geöffnet werden. PHP stellt hierfür die Funktion opendir() zur Verfügung. Die Funktion gibt ein sogenanntes Handle (etwas ähnliches wie ein Dateizeiger, nur eben für Verzeichnisse) zurück, welches Grundlage weiterer Aktionen ist.

Um das geöffnete Verzeichnis auslesen zu können, bietet PHP zwei Möglichkeiten. Zum einen die Funktion readdir(), mit der wir uns im Folgenden auseinandersetzen möchten, sowie die Klasse dir(). Um unnötige Verwirrung zu vermeiden, verzichten wir an dieser Stelle auf die Einführung von Klassen.

Das einfachste Skript, um Verzeichnisse zu öffnen, besteht also aus der Kombination der Funktion opendir() (erwartet als Parameter einen Verzeichnisnamen) sowie der in eine while-Schleife eingebetteten Funktion readdir().
Wenn Sie opendir() mit dem Parameter " . " ausführen, wird genau das Verzeichnis geöffnet, in dem sich das aktuell ausgeführte Skript befindet. Um das Root-Verzeichnis (root = engl. Wurzel) zu öffnen, müssen Sie den Parameter " . " nur durch einen Schrägstrich " / " ersetzen.
Bitte beachten Sie jedoch, dass Sie dies auf Ihrem eigenen Server ohne weiteres tun können. Bei einem angemieteten Webspace eines Providers wie Strato, Cypos oder anderen ist dies aus Sicherheitsgründen nicht zulässig, sodass PHP hier eine Fehlermeldung zurückliefern würde.

<?php

  $dir = opendir("/");

  while ($entry = readdir($dir)) {
    echo "<b>" . $entry . "</b><br>\n";
  }

   closedir($dir);

?>
Beispiel für Browserausgabe mit opendir()-Parameter "/"
...
lost+found
boot
proc
var
tmp
etc
sbin
bin
lib
root
usr
cdrom
floppy
home
mnt
opt
dev

Kommentare (0)

Ihr Kommentar

Name