| Das Arbeiten mit dem Dateisystem gehört zu den wichtigsten Aufgaben
im Einsatz von PHP.
Die wichtigsten Funktionen möchte ich hier zusammenfassend erklären.
Allgemeines zu PHP-Dateien
Das serverseitige Arbeiten mit PHP-Dateien wird in 3 Schritten durchgeführt:
Zuerst muss die Datei geöffnet werden, erst dann kann sie gelesen
und in ihr hineingeschrieben werden. Anschließend wird sie wieder
geschlossen.
Das Lesen geschieht immer zeilenweise und wird deshalb stets umgebrochen.
Das Dateiende kann mit dem Operator EOF (End of
file) angesprochen werden.
Öffnen einer Datei
Das Öffnen erfolgt mit der Funktion fopen()
In dem Klammerpaar übergibt man den Pfad, wo sich die Datei befindet
und den Modus, wie die Datei geöffnet werden soll.
Die Funktion liefert einen sogen. "Zeiger" zurück.
Parameter zum Öffnungsmodus sind:
| r |
Lesen der Datei. Dateizeiger am Anfang der Datei gesetzt. |
| r+ |
Lesen und Schreiben -"- |
| w |
Lesen der Datei. Bestehende Datei überschreiben. Dateizeiger
am Anfang.
Wenn sie nicht existiert, wird sie erstellt. |
| w+ |
Lesen und Schreiben. -"- |
| a |
Schreiben der Datei. Neue Daten werden am Ende angehangen. Datzeiger
am Ende
Wenn sie noch nicht existiert, wird sie erstellt. |
| a+ |
Schreiben und Lesen. -"- |
Bsp: $fp = fopen("/usr/local/test.dat","r+");
Lesen einer Datei
Das Lesen erfolgt mit der Funktion fgets()
In dem Klammerpaar übergibt man den Zeiger aus der öffnen-Funktion
und einen optionalen Wert mit der Länge der zu öffnenden Datei
in Bit.
Das Auslesen erfolgt zeilenweise.
Bsp: $text = fgets($fd,1000);
Vorteilhaft ist es, diese Funktion in eine while-Schleife zu packen.
Schreiben in der Datei
Das Schreiben erfolgt mit der Funktion fwrite()
In dem Klammerpaar übergibt man den Zeiger und die befüllte
Variable von der lesen-Funktion
Bsp: fwrite($fd,$buffer);
Schließen der Datei
Nach Beendigung aller Lese- & Schreibefunktionen wird die Datei wieder
mit der Funktion fclose() geschlossen. In dem
Klammerpaar wird der Zeiger übergeben.
Bsp: fclose($fd)
Beispiel für einen einfachen Dateizugriff:
<?php
$text = "Das ist Text\n";
$fd = fopen("test.dat","w+");
fwrite ($fd,$text);
fclose($fd);
?>
Erklärung:
In diesem Skript wird eine Variable $text mit dem String und einem Zeilenumbruch
deklariert.
Ein Zeiger wird definiert und die Datei test.dat geöffnet.
Dabei wird festgestellt, dass sie noch nicht existiert und deshalb neu
angelegt.
Dann werden Zeiger und Text hineingeschrieben und wieder geschlossen.
|