Space Vampire
Senior HTML'ler
Ich benutze des Öfteren mal eine Schleife, die ich mal in irgendeinem Forum abgegriffen habe.
Sie liest ein Verzeichnis ein und erzeugt ein Array aus dessen Inhalt.
Ich habe immer verstanden, was sie macht, und bis zu einem gewissen Grad auch wie sie es macht.
Allerdings bei einigen Zeilen nicht zur Gänze.
Bisher hat es mich nie interessiert, aber inzwischen haben meine PHP-Kentnisse ein Niveau erreicht, wo es mich doch fuchst, dass ich diese Schleife nicht wirklich verstehe.
Vielleicht mag mir mal jemand erklären, was genau sie macht.
Nachfolgend der Code, mit Anmerkungen, wie ich ihn zu verstehen glaube oder auch nicht.
Ich hoffe, es hat jemand die Zeit und die Lust, mir das etwas näher zu erklären.
Vielen dank im Voraus :)
Sie liest ein Verzeichnis ein und erzeugt ein Array aus dessen Inhalt.
Ich habe immer verstanden, was sie macht, und bis zu einem gewissen Grad auch wie sie es macht.
Allerdings bei einigen Zeilen nicht zur Gänze.
Bisher hat es mich nie interessiert, aber inzwischen haben meine PHP-Kentnisse ein Niveau erreicht, wo es mich doch fuchst, dass ich diese Schleife nicht wirklich verstehe.
Vielleicht mag mir mal jemand erklären, was genau sie macht.
Nachfolgend der Code, mit Anmerkungen, wie ich ihn zu verstehen glaube oder auch nicht.
PHP:
// Pfad zum einzilesenden Verzeichnis
$dir = "verzeichnis/pfad/";
// Ein neues, leeres Array wird definiert
$files = array();
// Das Verzeichnis wird Geöffnet und in der variable $h definiert.
// Nach meinem Verständnis dürfte das noch kein Array sien, sonst wäre der Rest überflüssig(?)
$h = opendir($dir);
// Das geöffnete Verzeichnis ($h) wird in die Variable $file gelesen (immer noch kein Array[?])
// Die while-Schleife tastet den Verzeichnisinhalt Element für Element ab
// Die Schleife endet, wenn die Abfrage ins Leere greift(?)
while(($file = readdir($h)) !== false) {
// Die nachfolgende if-Schleife verstehe ich garnicht.
// Ich denke, dass sie ebenfalls feststellt, wann die letzte Datei erreicht ist.
// Aber das macht doch bereits die while-Schleife, oder?
// BESONDERS DIE BEDINGUNG GIBT MIR RÄTSEL AUF!!
// WAS BEDEUTET '.' bzw. '..' ?
if($file == '.' || $file == '..') {
continue;
}
// Hier wird nun das Array mit dem Verzeichnisinhalt gefüllt
$files[] = $file;
}
Ich hoffe, es hat jemand die Zeit und die Lust, mir das etwas näher zu erklären.
Vielen dank im Voraus :)