Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Dateisystem via PHP
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  

 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 



 

Auslesen von Verzeichnissen




Zu den wichtigsten Aufgaben der Dateifunktionen gehört das auslesen der Bestandteile, wie Dateien und Verzeichnisse, eines Verzeichnisses. Für diese Aufgabe stehen Ihnen folgende Funktionen zur Verfügung:


Funktion Beispiel Bedeutung
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 ein 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 Pfades 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 Verweise (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 mit Hilfe der Funktion opendir(). Das folgenden 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ück gibt. Wollen sie das nicht, müssen sie diese ausschliessen:


<?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 den Zugriff mit Hilfe des dir-Objekt. Es handelt sich hierbei um ein Pseudo-Objekt, d.h. es stellt eine Mischung aus Funktion und objektorientierter Lösung dar. Dem Objekt stehen diverse Eigenschaften und Methoden zur Verfügung, welche in folgender Tabelle aufgeführt sind:


Funktion Bedeutung
handle Diese Eigenschaft liefert einen Verweis, welcher sich mit den weiter oben vorgestellten Funktionen nutzen lässt.
path Diese 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 anderes 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 bzw. diese spezielle Syntax wird vor allem beim objektorientierten Anwendungen eingesetzt.



 


Berechtigungen von Dateien und Verzeichnissen
 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de