|
Das Buch learninPHP wurde uns freundlicherweise vom Autor Marvin Momberg zur
Verfügung gestellt. Sie haben die Möglichkeit, sich das Buch auf der
Homepage des Autors herunterzuladen.
PHP-Finder ist eines der wenigen Portale, das dieses Buch präsentiert.
Das Buch wird hier nur in Auszügen präsentiert.
|
Kapitel 3: Themengebiete | Verzeichnisse | In diesem Unterkapitel lernen sie wie sie mit Verzeichnissen arbeiten. Das ist wichtig wenn sie anstatt mit Datenbanken mit Dateien arbeiten wollen. Als erstes natürlich wie man ein Verzeichnis anlegt. Mit mkdir() erstellen sie ein Verzeichnis. mkdir() braucht 2 Argumente, als erstes den Namen des Verzeichnisses das sie erstellen wollen. Als zweites wird eine Zahl benötigt, die die Rechte unter Unixbasierten Systemen darstellt. Stellen sie dieser Zahl eine Null voran. Falls sie bis jetzt keine Erfahrungen unter Unixbasierten Systemen wie z.B. Linux haben setzen sie die Rechte auf 0777. Beispiel:
mkdir("mein_neues_verzeichnis", 0777);
Das Erstellen von Verzeichnissen scheitert in der Regel oft an nicht zureichenden Rechten. Als Gegenstück zu mkdir() gibt es rmdir() das ein Verzeichnis entfernt. Das Verzeichnis muss leer sein um es löschen zu können, und sie benötigen auch die erforderlichen Rechte. rmdir() erwartet keine Zahl die die Rechte angibt, rmdir() braucht nur den Namen des Verzeichnisses das gelöscht werden soll. Beispiel:
mkdir("mein_verzeichnis", 0777); rmdir("mein_verzeichnis");
In diesem Beispiel wurde als erstes das Verzeichnis mein_verzeichnis erstellt und dann wieder gelöscht. Sie können bei mkdir() auch den Pfad zum neuen Ordner angeben, falls der neue Ordner weiter verzweigt in anderen liegen soll. Auch hier geben sie den relativen Pfad an. Genau wie bei Dateien müssen sie ein Verzeichnis erst öffnen bevor sie die enthaltenen Dateien und Ordner lesen können. Verstehen sie das nicht falsch, sie können die Dateien nicht lesen oder schreiben wenn sie einen Ordner geöffnet haben, sie können lediglich die Dateinamen und Ordnernamen empfangen. Zum öffnen von Verzeichnissen gibt es in PHP die Funktion opendir(). opendir() erwartet nur den Namen eines Ordners, oder eine relative Pfadangabe zu einem Ordner. Genau wie bei Dateien schließen sie Ordner am besten, mit der Funktion closedir(). Sie speichern die Angabe des offenen Verzeichnisses auch in einer Variablen wie bei einem Dateizeiger. Beispiel:
$verzeichnis = opendir("info"); closedir($verzeichnis);
Dann kommen wie jetzt zum auslesen des Inhaltes eines Ordners. Dazu gibt es readdir(), readdir() braucht einen gültigen Verzeichniszeiger. Komplettes Beispiel:
<?php mkdir("neues_verz", 0777); touch("neues_verz/neue_datei.txt"); touch("neues_verz/andere_datei.txt"); touch("neues_verz/bla bla.txt"); $ordner = opendir("neues_verz"); while($datei = readdir($ordner)) { if(! is_file("neues_verz/$datei")) continue; print "$datei<br>"; } closedir($ordner); ?>
Das ist erstmal ziemlich viel auf einmal. Als erstes haben wir den Ordner neues_verz erstellt. Dann haben wir 3 Dateien in dem neuen Ordner angelegt. Danach haben wir das Verzeichnis mit opendir() geöffnet. Jetzt kommt das eigentlich interessante, die while-Schleife benutzen wir in Verbindung mit readdir(). Die Bedingung die true sein muss ist $datei = readdir($ordner). Es wird immer überprüft ob die Variable $datei true ist. Die Variable $datei kann nur true sein wenn sie Inhalt hat. readdir() gibt an die Variable einen Dateinamen oder Ordnernamen zurück, falls in dem geöffneten Verzeichnis noch Dateien oder Ordner sind die noch nicht gelesen wurden. Wenn also noch eine noch nicht gelesene Datei vorhanden ist, ergibt die Bedingung true und der Code in den geschweiften Klammern wird ausgeführt. Als erstes wird mit is_file() überprüft ob es sich auch um eine Datei handelt. is_file() braucht nur den Namen der überprüft werden soll. Diese Funktion gibt true zurück falls es sich um eine Datei handelt. Mit dem ! Operator wurde das Ergebnis umgedreht. Wenn es sich also nicht um eine Datei handelt wird mit continue der aktuelle Schleifendurchgang beendet. Wenn es sich wirklich um eine Datei handelt wird der Namen ausgegeben.
Hier sehen sie die Ausgabe des Scripts.

| |
|
|
1 PHPhotoalbum DEUTSCH PHPhotoalbum mit automatischer Thumbnailerstellung, Statistiken, verschiedene Alben können angelegt [hits: 7840]
2 Photo Album System - updated! Komplexes Photo Album Sytem.
- mehrere Alben durch einfaches hinzufügen möglich (2 Zeilen)
- Aut [hits: 5506, downloads: 4024]
3 planetGalery Mit :: planetGalery :: haben Sie die Möglichkeit, schnell und einfach Bildergalerien auf Ihrer Inter [hits: 5428]
4 Ad Promotion Netzwerk Script Betreiben Sie Ihr eigenes >>>kostenloses<<< Promotion Netzwerk.
Banner Exchange, Popup Exchange ( [hits: 4870, downloads: 2443]
5 Ad Banner Exchange Script + Partner Programm + Ad Vermarktung Betreiben Sie Ihren eigenen Banner Exchange mit zusätzlicher Ad Funktion zur Vermarktung an Sponsore [hits: 3518, downloads: 3955]
Die Scripts sind nach Hits sortiert
|
1 PHP-Edit Kleiner Editor zum erstellen von PHP-Scripts. Außerdem gibt es die Funktion zum schnellen einfügen v [hits: 3592, downloads: 7204]
2 PHP-Triad Das Projekt "PHP Triad" hat sich all denen gewidmed, denen die Konfiguration eines Apache mit PHP un [hits: 2306, downloads: 5927]
3 Wampp / Lampp LAMPP (Linux + apache + mysql + php + perl) + WAMPP (windows + apache + mysql + php + perl) = XAMPP
[hits: 1917, downloads: 3164]
4 >e-novative> WAMP Kostenloser Installer für Apache, MySql und PHP unter Windows. Vollautomatische Installation und Kon [hits: 1606, downloads: 1542]
5 VBMyAdmin VBMyAdmin - Intranet & Internet Lösungen. Mit VBMyAdmin erstellen und verwalten Sie Ihre eigenen Dat [hits: 1530, downloads: 1453]
Die Downloads sind nach Hits sortiert
|
|