PHP - fopen

Syntax

fopen("Dateiname","Modus")

Erklärung

Die Funktion fopen öffnet eine Datei zum Schreiben und/oder Lesen und gibt ein Dateihandle zurück. Mit diesem kann mit den Funktionen fgets, fputs usw. auf die Datei zugegriffen werden. Die sog. Handles erleichtern den Zugriff auf Dateien oder Verzeichnisse, indem nach dem Öffnen nicht bei jedem Zugriff der komplette Pfad bzw. Name, sondern nur das Handle angegeben werden muß.

Die Datei kann auch auf einem anderen Server liegen, in diesem Fall muß statt dem bloßen Dateinamen eine komplette URL (z. Bsp. "http://www.domain.de/verzeichnis/datei.htm") oder FTP-Pfad (z. Bsp. "ftp://name:passwort@server.de/") angegeben werden. Da keine HTTP-Redirects (Weiterleitungen) unterstützt werden, muß eine URL ggf. mit abschließendem "/" geschrieben werden (z.Bsp. "http://www.phpbox.de/").

Der Parameter "Modus" bestimmt, für welche Form des Zugriffs die Datei geöffnet wird. Dabei sind folgende Modi möglich:

r Datei wird nur zum Lesen geöffnet, der Dateizeiger wird auf den Anfang der Datei gesetzt.
r+ Datei wird zum Lesen und Schreiben geöffnet, der Dateizeiger wird auf den Anfang der Datei gesetzt.
w Datei wird nur zum Schreiben geöffnet, der Dateizeiger wird auf den Anfang der Datei gesetzt. Sofern die Datei bereits besteht, wird die Größe auf 0 Bytes gesetzt (d.h. ein eventueller Inhalt wird überschrieben). Sofern die Datei nicht existiert, wird diese neu angelegt.
w+ Datei wird zum Lesen und Schreiben geöffnet, der Dateizeiger wird auf den Anfang der Datei gesetzt. Sofern die Datei bereits besteht, wird die Größe auf 0 Bytes gesetzt (d.h. ein eventueller Inhalt wird überschrieben). Sofern die Datei nicht existiert, wird diese neu angelegt.
a Datei wird nur zum Schreiben geöffnet, der Dateizeiger wird an das Ende der Datei gesetzt (d.h der Inhalt wird nicht überschrieben, sondern neuer Inhalt am Dateiende hinzugefügt). Sofern die Datei nicht existiert, wird diese neu angelegt.
a+ Datei wird zum Lesen und Schreiben geöffnet, der Dateizeiger wird an das Ende der Datei gesetzt (d.h der Inhalt wird nicht überschrieben, sondern neuer Inhalt am Dateiende hinzugefügt). Sofern die Datei nicht existiert, wird diese neu angelegt.

 

Sofern es sich um eine Binärdatei handelt (z. Bsp. .jpg-Bilder), muß dem Modus jeweils noch "b" vorangestellt werden (z. Bsp. "br", "br+", "bw"...).

Für einen Schreibzugriff ist es erforderlich, das sowohl für das Skript, als auch für das Verzeichnis in das geschrieben wird, die entsprechenden Schreibrechte gesetzt sind (vgl. chmod).

Nachdem die Datei bearbeitet wurde, sollte das Dateihandle mit der Funktion fclose wieder geschlossen werden, damit andere Prozesse auf die Datei zugreifen können.

Vergleiche auch fclose, fread, fgetc, fgets, fwrite

Beispiel

<?php

$dateihandle = fopen("../index.htm");

?>

Ergebnis:

Die Datei "index.htm" wurde für die weitere Bearbeitung unter dem Handle "$dateihandle" geöffnet.

zurück: PHP - Datei-Befehle

Ergänzung? Fehler? Schreib uns an team@phpbox.de
Du findest phpbox.de nützlich? Wir freuen uns über einen Link auf phpbox.de

Einstieg in PHP 8 und MySQL
PHP Buch