PHP 4.3

10.3 Modi beim Öffnen von Dateien

Auf der letzten Seite hatten wir bereits kurz das Thema Modus erwähnt. Mit diesem Parameter der Funktion fopen() gibt Ihnen PHP die Möglichkeit, Lese- und Schreibrechte für die zu öffnende Datei festzulegen.

Grundsätzlich ist zu sagen, dass Sie eine Datei stets nur mit den Rechten öffnen sollten, die Sie für die weitere Bearbeitung wirklich benötigen. Insbesondere in der Entwicklungsphase, in der der eine oder andere Fehler auftritt, können Sie so ein Fehlverhalten des Skripts schneller eingrenzen (oder vermeiden wenigstens größeren Schaden). Bedenken Sie auch, dass insbesondere das Schreiben von Dateien ein Sicherheitsrisiko für Ihren Server darstellen kann und der großzügige Umgang mit Modi digitalen Einbrechern Tür und Tor öffnen kann.

r

Ermöglicht das Lesen (engl. read) von Daten. Die Datei muss in diesem Fall existieren, ansonsten bricht PHP den Vorgang mit einer Fehlermeldung ab. Sie können in der geöffneten Datei keine Schreibaktionen durchführen. Dieser Modus eignet sich, wenn Sie aus Sicherheitsgründen grundsätzlich keine Daten auf dem Webserver schreiben lassen möchten / können. Der interne Zeiger steht nach dem Öffnen am Anfang der Datei.

r+

Ermöglicht das Lesen und Schreiben in einer Datei. Auch hier muss die Datei existieren. Beim Schreiben kann der Inhalt der Datei überschrieben oder ergänzt werden. Der interne Zeiger steht nach dem Öffnen am Anfang der Datei.

w

Ermöglicht das Schreiben in einer Datei. Das Lesen ist nicht möglich. Die Datei wird angelegt, wenn sie noch nicht existiert, andernfalls wird der Inhalt gelöscht, und die Datei auf eine Länge von 0 Byte zurückgesetzt. Der Zeiger steht am Anfang der Datei.

w+

Ermöglicht das Lesen und Schreiben in einer Datei. Die Datei wird angelegt, wenn sie noch nicht existieren sollte, andernfalls wird der Inhalt gelöscht und die Datei auf eine Größe von 0 Byte zurückgesetzt. Der Zeiger steht am Anfang der Datei. Diese Methode eignet sich insbesondere zum kurzzeitigen Zwischenspeichern von Daten.

a

Ermöglicht das Schreiben in einer Datei. Die Datei wird angelegt, wenn sie noch nicht existieren sollte, anderenfalls wird der Zeiger zum Ende der Datei befördert. Diese Methode wäre, ebenso wie der folgende Modus, zum Speichern von Log-Dateien geeignet.

a+

Identisch mit a, bis auf den Umstand, dass Sie hier ebenso Daten auslesen könnten. Dieser Modus ist zum Beispiel für Foren, Gästebücher, Mailing-Listen und so weiter geeignet.

PHP verfügt auch über die Möglichkeit, Binärdateien zu bearbeiten. Binärdateien sind maschinenlesbare Formate, z.B ausführbare Programme, Bilder, komprimierte Dateien, aber auch Dokumente aus Textverarbeitungssystemen (Microsoft Word etc.).

PHP wandelt im Textmodus beim Lesen die im Betriebssystem gerade vorherrschende Variante des Zeilenendes in ein einzelnes Zeilenendezeichen \n um und beim Schreiben entsprechend dieses \n wieder in die betriebssystemübliche Variante. Wenn keinerlei solche Konvertierungen vorgenommen werden, die Bytes also so geliefert werden sollen, wie sie in der Datei sind, muss der sogenannte Binärmodus gewählt werden.

Um Dateien im Binärmodus bearbeiten zu können, fügen Sie dem Modus ein "b" an. "r+b" würde also das Lesen und Schreiben einer Datei im Binärmodus ermöglichen.

Bitte beachten Sie, dass nicht alle Betriebsysteme einen Unterschied zwischen Text- und Binärmodus machen. Besteht kein Unterschied, wird das "b" einfach ignoriert. Dies ist zum Beispiel bei UNIX-Varianten wie Linux der Fall. Windows-Betriebssysteme unterscheiden hingegen zwischen Binär- und Textmodus.

Kommentare (0)

Ihr Kommentar

Name