|
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 | Dateien | Jetzt kommen wir zu Dateien. Jetzt lernen sie wie sie Dateien erstellen, lesen, schreiben. Dateien sind eine hervorragende Möglichkeit Daten zu speichern. Die Sicherheit ist bei Dateien auch gewährleistet, mit verschiedenen Mitteln können sie Dateien vor Unbefugten schützen. Aber fangen wir jetzt an. Als erstes sollten sie wissen wie sie eine Datei erstellen. Dazu gibt es in PHP die Funktion touch(). touch() erwartet einen vollständigen Dateinamen. Sie können auch einen Pfad zur neuen Datei angeben. Wenn sie keinen Pfad angeben, wird die Datei in dem aktuellen Verzeichnis erstellt. Beispiel:
<?php touch("Dateiname.dat"); ?>
Beachten sie das sie unter Linux/Unix basierten System die nötigen Rechte haben müssen. Jetzt wissen sie wie sie eine Datei erstellen, dann erfahren sie wie sie eine Datei löschen. Beispiel:
<?php unlink("Dateiname.dat"); ?>
Die Datei die das erste Beispiel erstellt hat, wurde vom zweiten Script wieder gelöscht. Mit den Pfadangaben verhält es sich bei unlink() genauso wie bei touch(). Wenn sie jetzt wissen wie sie eine Datei erstellen wollen sie sicherlich auch Dateien lesen oder Inhalt in sie schreiben. Bevor sie das können müssen sie die Datei erst öffnen. Sie können Dateien in 3 verschiedenen Modi öffnen.
Hier eine kleine Tabelle mit den 3 Modi.

Um eine Datei zu öffnen benutzen sie die Funktion fopen(). fopen() erwartet als erstes eine Zeichenkette, den Namen der zu öffnenden Datei und wenn die Datei nicht im selben Ordner wie das Script liegt den relativen Pfad zur Datei. Als zweites Argument erwartet fopen() den Modus in dem die Datei geöffnet werden soll. Schreiben sie das Zeichen auch in Klammern, es ist ja auch eine Zeichenkette. Beispiel für fopen(): $datei_zeiger = fopen("meine_datei.txt", "r"); In diesem Beispiel würde eine Datei namens meine_datei.txt zum lesen geöffnet. Ein Dateizeiger muss immer in einer Variablen gespeichert werden, damit man später Bezug auf die Datei nehmen kann. Da sie jetzt wissen wie sie Dateien öffnen lernen sie jetzt wie sie Dateien lesen. Es gibt 3 wichtige verschiedene Funktionen um Dateien zu lesen. fread(), fgets(), fgetss() Wenn sie beliebig viel Inhalt aus einer Datei lesen wollen benutzen fread(). fread() erwartet 2 Argumente. Als erstes einen Dateizeiger und als zweites eine Zahl, die angibt wie viele Bytes (Zeichen) gelesen werden soll. fgets() liest immer nur eine Zeile einer Datei. fgets() erwartet genau wie fread() 2 Argumente, als erstes einen gültigen Dateizeiger, als zweites die maximale Zahl an Bytes (Zeichen) die aus einer Zeile gelesen werden sollen. fgetss() ist fast das selbe wie fgets(). Nur das fgetss alle Sonderzeichen, HTML Tags und PHP Inhalt übersieht. Wenn sie eine HTML Datei lesen wollen, aber alle HTML Tags entfernen wollen, ist es sinnvoll fgetss() zu benutzen. Bei allen 3 bleibt der Dateizeiger an der Stelle stehen, an der man aufgehört hat die Datei zu lesen. Wenn sie die Datei weiter lesen, wird an der Stelle weitergemacht an der sie vorher aufgehört hatten. Ein Beispiel zum lesen von Dateien:
$datei_zeiger = fopen("infos.txt", "r"); print fgets($datei_zeiger, 3600);
In diesem Beispiel wird eine Datei namens infos.txt geöffnet. Wenn diese nicht existiert, wir von PHP eine Fehlermeldung ausgegeben. Aus der ersten Zeile werden bis zu 3600 Zeichen gelesen und an den Browser ausgegeben. Am besten ist es wenn man den Inhalt einer Datei in einer Variablen speichert. Hier ist dieser Schritt aber überflüssig, der Dateiinhalt wird direkt über print an den Browser weitergegeben. Aber was ist wenn eine Datei mehrere Zeilen hat, und die alle Zeilenweisen lesen wollen? Dazu brauchen die feof(). feof() erwartet einen Dateizeiger und gibt true zurück wenn das Dateiende erreicht ist. Sie können also feof() benutzen um zu testen ob das Ende einer Datei bereits erreicht ist, oder ob noch Inhalt in der Datei ist, dann gibt feof() nämlich false zurück. Man sieht häufig das feof in Verbindung mit einer while-Schleife verwendet wird. Hier ein Beispiel dazu:
$datei = fopen("infos.txt", "r"); while(! feof($datei)) { print "$inhalt<br>"; }
Wir erinnern uns, ! ist ein logischer Operator und sagt das ein Wert nicht wahr ist. durch ! feof() wird das Ergebnis von feof() umgedreht. Von true nach false und von false nach true. Die Schleife wird nur weiter ausgeführt wenn die Bedingung true ist. Da feof() true zurückgibt wenn das Dateiende erreicht ist, und nicht wenn noch Inhalt in der Datei ist, muss das Ergebnis von feof() umgedreht werden. Jetzt können sie Datei erstellen und lesen, also fehlt ihnen noch das Wissen wie sie Dateien schreiben. Zum schreiben öffnen sie als erstes eine Datei im w oder a Modus. Zum schreiben von Dateien gibt es 2 Funktionen fwrite() und fputs(). Beide Funktionen haben exakt die selbe Arbeitsweise, fputs() ist ein Alias zu fwrite() und umgekehrt. Also ist es egal ob sie fputs() oder fwrite() verwenden. Beispiel:
$neuer_inhalt = "Hallo, ich bin ein neuer Inhalt"; $datei = fopen("infos.txt", "w"); fputs($datei, $neuer_inhalt);
Der Inhalt der Variablen $neuer_inhalt wurde in infos.txt geschrieben. Beachten sie das die Funktion von fputs() und fwrite() von dem Modus bestimmt wird, indem die Datei geöffnet ist. Wenn die Datei in a geöffnet ist wird nur am Ende der Datei angehängt und wenn die Datei in w geöffnet ist wird der gesamte Inhalt überschrieben. Als letztes sollten sie noch wissen das man am besten die Dateien wieder schließt nachdem man mit der Arbeit fertig ist. Dateien schließt man mit fclose(). fclose() erwartet einfach nur den Dateizeiger der geschlossen werden soll. Beispiel:
$datei_zeiger = fopen("meine_datei.txt", "r"); # Arbeit mit der Datei...... fclose($datei_zeiger);
Erinnern sie sich das # für einen Kommentar steht, das war eines der ersten Dinge die sie gelernt haben, alles was in der Zeile hinter # steht wird nicht von PHP ausgeführt. Wie auch schon im Unterkapitel über Arrays gibt es zu Dateien etliche Funktionen, wenn sie eine bestimmte Funktion suchen benutzen sie das PHP-Manual. | |
|
|
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
|
|