fopen() bindet eine benannte Resource, welche
mittels filename
spezifiziert wurde, an einen
Stream. Hat filename
die Form "schema://..."
wird angenommen, dass es sich hier um eine URL handelt und PHP sucht
nach einem Protokollhandler (auch als Wrapper bekannt) für dieses
Schema. Sind keine Wrapper für dieses Protokoll registriert, gibt
PHP als Hilfe zum Verfolgen potentieller Probleme in Ihrem Skript
einen Hinweis aus und setzt dann weiter fort, obwohl
filename
eine reguläre Datei spezifiziert.
Ist PHP zu dem Schluss gekommen, dass filename
eine lokale Datei spezifiziert, wird es versuchen, einen Stream
an dieser Datei zu öffnen. Die Datei muss für PHP verfügbar sein,
weshalb Sie sicherstellen müssen, dass die Dateirechte diesen
Zugriff ermöglichen. Wenn Sie Safe Mode oder open_basedir aktiviert haben,
können weitere Einschränkungen zutreffen.
Kam PHP zum Schluss, dass es sich bei filename
um ein registriertes Protokoll handelt, und ist dieses Protokoll
als eine Netzwerk URL registriert, prüft PHP, ob allow_url_fopen aktiviert ist.
Ist es nicht aktiviert, gibt PHP eine Warnung aus, und der
Aufruf von fopen wird scheitern.
Anmerkung: Die Liste der unterstützten Wrapper finden Sie unter Anhang M.
Der Parameter mode
spezifiziert den von Ihnen
gewünschten Zugriffstyp auf den Stream und kann die folgenden Werte haben:
Tabelle 1.
Liste von möglichen Modi für fopen()
mit mode
mode | Beschreibung |
---|---|
'r' | Öffnet die Datei nur zum Lesen und positioniert den Dateizeiger auf den Anfang der Datei. |
'r+' | Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei. |
'w' | Öffnet die Datei nur zum Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert wird versucht sie anzulegen. |
'w+' | Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert, wird versucht sie anzulegen. |
'a' | Öffnet die Datei nur zum Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen. |
'a+' | Öffnet die Datei zum Lesen und Schreiben. Positioniert den Dateizeiger auf das Ende der Datei. Wenn die Datei nicht existiert, wird versucht sie anzulegen. |
Anmerkung: Zusätzlich kann
mode
der Buchstabe 'b' hinzugefügt werden, der die Behandlung von Binärdateien erlaubt. Dies ist nur auf Systemen sinnvoll, welche zwischen Binär- und Text-Dateien unterscheiden (z.B. Windows. Ist bei Unix sinnlos). Wenn das Feature nicht gebraucht wird, wird es einfach ignoriert. Sie sollten den 'b' Flag verwenden, um Ihre Skripte portabler zu machen.
Sie können den optionalen Parameter use_include_path
auf '1' oder TRUE setzten, wenn Sie die Datei auch im include_path suchen möchten.
Der optionale vierte Parameter zcontext
wird
zur Spezifikation von Einstellungsparametern und Callbacks verwendet.
Scheitert das Öffnen der Datei, gibt die Funktion FALSE zurück.
Wenn Sie Probleme mit dem Lesen oder Schreiben von Dateien haben und PHP als Servermodul benutzen, stellen Sie zunächst sicher, dass die Dateien und Verzeichnisse die Sie benutzen wollen auch für den Server-Prozess zugänglich sind (Rechtevergabe).
Achten Sie auf Windows-Systemen darauf, dass Sie als Verzeichnistrenner normale Schrägstriche '/' benutzen um plattformunabhängig programmieren zu können. Sollten Sie dennoch Backslashes verwenden, vergessen Sie nicht diese zu escapen '\\'
Siehe auch Anhang M, fclose(), fgets(), fsockopen(), file(), file_exists(), is_readable(), socket_set_timeout() und popen().
Zurück | Zum Anfang | Weiter |
fnmatch | Nach oben | fpassthru |