Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Programmierung mit PHP  Teil von  Dateisystem via PHP
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++



:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP? In über 120.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
Auslesen von Verzeichnissen




Zu den wichtigsten Aufgaben der Dateifunktionen gehört das Auslesen der Bestandteile eines Verzeichnisses. Für diese Aufgabe stehen Ihnen folgende Funktionen zur Verfügung:

FunktionBeispielBedeutung
closedir (dir_handle)closedir ($handle);Löscht einen Verweis (Handle) auf ein Verzeichnis.
dir (directory)dir ("/etc");Liefert ein Objekt, das für ein Verzeichnis steht.
opendir (path)opendir ($path);Erzeugt einen Verweis (Handle) auf ein Verzeichnis.
readdir (dir_handle)readdir ($handle);Ermittelt den jeweils nächsten Datei- oder Verzeichnisnamen aus einem Verzeichnis.
rewinddir (dir_handle)rewinddir ($handle);Positioniert den readdir-Zeiger wieder auf dem ersten Eintrag eines Verzeichnisses.
scandir (directory [, sorting_order])scandir ($directory);Listet sämtliche Dateien und Verzeichnisse eines angegebenen Pfads auf. Die Sortierreihenfolge ist alphabetisch aufsteigend. Sollte der optionale Parameter sorting_order verwendet werden, wird die Sortierreihenfolge alphabetisch absteigend sein.


Im Grunde verbergen sich hinter den oben vorgestellten Funktionen zwei Konzepte für den Zugriff auf Verzeichnisse und das Auslesen von Dateien:
  • Zugriff über einen Verweis (Handle, Referenz).
  • Zugriff über ein Objekt, das Sie mit der Funktion dir() erhalten. Auf dieses Objekt lassen sich dann Eigenschaften und Methoden anwenden.


Zugriff via Verweise

Einen Verweis erhalten Sie mithilfe der Funktion opendir(). Das folgende Beispiel zeigt, wie Sie Dateien aus einem Verzeichnis auslesen:
<?php

$handle=opendir ('.');
echo "Verzeichnis-Handle: $handle<br>";
echo "Dateien:<br>";

while (false !== ($file = readdir ($handle))) {
  echo "$file<br>";
}

closedir($handle);

?>

Ausgabe
Verzeichnis-Handle: Resource id #2
Dateien:
.
..
konstanten.php

Beachten sie, dass readdir() auch die Einträge "." und ".." zurückgibt. Wollen Sie das nicht, müssen Sie sie ausschließen:

<?php

$handle=opendir ('.');
echo "Verzeichnis-Handle: $handle<br>";
echo "Dateien:<br>";

while ($file = readdir ($handle)) {
  if ($file != "." && $file != "..") {
    echo "$file<br>";
  }
}

closedir($handle);

?>

Ausgabe
Verzeichnis-Handle: Resource id #2
Dateien:
konstanten.php



Zugriff via Objekt

Kommen wir nun zum zweiten Konzept, nämlich dem Zugriff mithilfe des dir-Objekts. Es handelt sich hierbei um ein Pseudo-Objekt, d. h. eine Mischung aus Funktion und objektorientierter Lösung. Dem Objekt stehen diverse Eigenschaften und Methoden zur Verfügung, welche in folgender Tabelle aufgeführt sind:

FunktionBedeutung
handleDiese Eigenschaft liefert einen Verweis, welcher sich mit den weiter oben vorgestellten Funktionen nutzen lässt.
pathDiese Eigenschaft liefert den Pfad des dir-Objekts.
close()Diese Methode gibt das Objekt wieder frei.
read()Diese Methode liefert bei jedem Aufruf den jeweils nächsten Verzeichniseintrag.
rewind()Diese Methode setzt den internen Zeiger für die read-Operationen wieder auf den ersten Eintrag.


Das Auslesen eines Verzeichnisses entspricht den bereits vorgestellten Beispielen. Lediglich die Syntax stellt sich etwas anders dar:

<?php

$verzeichnis = dir(".");
echo "Verzeichnis-Handle: $verzeichnis<br>";
echo "Dateien:<br>";

while ($file = $verzeichnis->read()) {
  echo "$file<br>";
}

$verzeichnis->close();

?>

Ausgabe
Verzeichnis-Handle: Object id #1
Dateien:
.
..
konstanten.php

Hinweis: Dieses Pseudo-Objekt als spezielle Syntax wird vor allem beim objektorientierten Anwendungen eingesetzt.



 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


Microsoft Deutschland GmbH
twosteps.net - ...Premium-Webhosting
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2009 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt