|
Der Umgang mit Dateien in PHP
|
Der Umgang mit Dateien ist in PHP
einfacher als viele denken. Wenn man das Prinzip einmal
verstanden hat, ist es ist mehr nicht wirklich kompliziert
aus Dateien zu lesen, Daten anzuhängen oder zu überschreiben.
Eine Datei muss zuallererst geöffnet werden, unabhängig
davon ob wir nur lesen oder auch schreiben wollen. Dies
geschieht mittels des Befehls "fopen".
Die
Syntax lautet:
<?php $datei = fopen(Dateiname,
Modus); ?>
Wie man sieht, muss noch ein
Parameter benannt werden, der den Modus angibt, in dem die Datei
geöffnet werden soll:
Modus "r": Öffnet die
Datei nur zum Lesen, der
Dateizeiger wird auf den Anfang der Datei gesetzt, Datei muss
vorhanden sein
Modus "r+": Öffnet die Datei zum Lesen und Schreiben,
Dateizeiger wird auf den Anfang der Datei gesetzt, Datei muss
vorhanden sein
Modus "w": Öffnet die Datei nur zum Schreiben,
Dateizeiger wird auf den Anfang der Datei gesetzt, sofern die
Datei bereits besteht, wird sie überschrieben. Sofern die Datei nicht
existiert, wird diese neu angelegt.
Modus "w+":
Öffnet die Datei zum
Lesen und Schreiben, der Dateizeiger wird auf den Anfang der
Datei gesetzt, sofern die Datei bereits besteht, wird sie
überschrieben.
Sofern die Datei nicht existiert, wird diese neu angelegt.
Modus "a": Öffnet die Datei nur zum Schreiben, der Dateizeiger wird an das
Ende der Datei gesetzt (vorhandener Inhalt wird nicht
überschrieben, sondern neuer Inhalt am Dateiende hinzugefügt).
Sofern die Datei nicht existiert, wird diese neu angelegt.
Modus "a+": Öffnet die Datei zum Lesen und Schreiben, der Dateizeiger wird
an das Ende der Datei gesetzt (vorhandener der Inhalt wird nicht
überschrieben, sondern neuer Inhalt am Dateiende hinzugefügt).
Sofern die Datei nicht existiert, wird diese neu angelegt.
Wie man sehen kann, gibt es für quasi jeden Verwendungszweck
einen eigenen Modus. Vorsichtig muss man natürlich bei w und w+
sein, da hier vorhander Inhalt ohne Warnung überschrieben wird.
Mit Dateizeiger ist schlicht die Position gemeint, an der mit
der Lese oder Schreibarbeit begonnen werden soll - eben am
Anfang oder am Ende der geöffneten Datei.
Nachdem die mit
einem Datei geöffnet ist, muss natürlich noch ein entsprechender
Schreib- oder Lesebefehl gesendet werden und die Datei
abschleissend wieder geschlossen werden. Auch wenn es anfangs
kompliziert klingt, lässt es sich mit einigen Beispielen am
besten verstehen.
Beispiel 1: Wir möchten eine Zeile Text
aus einer Datei lesen und anzeigen lassen.
<? $datei = fopen("beispiel.txt","r+");
echo fgets($datei); fclose($datei); ?>
Der Befehl fgets dient zum zeilenweisen Auslesen einer
Datei, der Befehl flcose schliesst sie wieder. Beispiel 1
bewirkt also, dass die erste Zeile der Datei beispiel.txt am
Bildschirm angezeigt wird.
Beispiel 2: Wir möchten einen
Text an eine vorhandene Datei anhängen:
<? $datei = fopen("beispiel.txt","a");
fwrite($datei,"Beispieltext"); fclose($datei); ?>
Dies bewirkt, dass der "Beispieltext" an die vorhandene
Datei angehängt wird.
|
|
|
|
|
|