In Dateien schreiben

Dateien zum Schreiben öffnen

Wollen Sie Daten in eine Datei schreiben, müssen Sie die Datei zuerst öffnen. Beim Öffnen der Datei können Sie bestimmen, ob Sie die bestehenden Daten der Datei überschreiben wollen oder der bestehenden Datei weitere Daten hinzufügen möchten.

(1) Dateien überschreiben

Wenn Sie eine Datei mit der Funktion fopen() und dem Modus 'w' für „write“ öffnen, wird die Datei zum Schreiben geöffnet und der Dateizeiger auf den Anfang der Datei verschoben. Gleichzeitig wird die Länge der Datei auf 0 Byte gesetzt. Wenn die Datei nicht existiert, wird sie angelegt.

(2) Daten in Dateien hinzufügen

Um beispielsweise Daten, die in ein Formular eingegeben wurden, fortlaufend in eine Datei zu schreiben, verwenden Sie den Befehl fopen() mit dem Modus „a“. Die Datei wird zum Schreiben geöffnet und der Dateizeiger an das Ende der Datei gesetzt, sodass die neuen Daten hinzugefügt werden. Existiert sie nicht, legt PHP sie an.

Daten in Dateien schreiben

Um eine Zeichenkette in eine geöffnete Datei zu schreiben, verwenden Sie die Funktion fputs(). Syntax und Bedeutung der fputs-Anweisung

fputs (Dateizeiger,Zeichenkette,[Länge])

Auf Systemen, die zwischen Binär- und Textdateien (z. B. Windows) unterscheiden, muss die Datei mit der Option 'b' in der fopen()-Funktion geöffnet werden.

Nachdem Daten in die Datei geschrieben wurden, muss die Datei geschlossen werden.

Beispiel: Dateidaten ergänzen bestellformular.html, bestellung.php, bestellung_daten.csv

Die Daten, die der Benutzer in das Bestellformular für Äpfel eingibt, sollen in einer *.csv-Datei an das Ende der schon vorhandenen Daten gehängt werden.

Anzeige nach der Absendung des Formulars "bestellformular.html"

<html>	
<body>	
 <?php	
 $datei = fopen("bestellung_daten.csv","a");
 if ($datei == false)	
 { echo  "<p>Datei konnte nicht zum Schreiben geöffnet werden</p>";	
   exit ; 
 }
 $name    = $_POST["name"];  
 $strasse = $_POST["strasse"];	
 $ort     = $_POST["ort"];
 $sorte   = $_POST["sorte"]; 
 $menge	  = $_POST["menge"];
 fputs ($datei, "$name;$strasse;$ort;$sorte;$menge;\n");	
 echo "<p>Folgende Angaben wurden gespeichert</p>";	
 echo "$name<br>"; echo "$strasse<br>";	
 echo "$ort<br>";  echo "$menge kg $sorte<br>";	
 fclose($datei);	
?>
</body>
</html>

Die Datei bestellungdaten.csv wird mit fopen() und dem Modus 'a' geöffnet, d.h. zum Schreiben geöffnet, und der Dateizeiger wird an das Ende der Datei gesetzt, sodass die neuen Daten hinzugefügt werden.

*.csv können Sie mit Programmen, wie z. B. Microsoft Excel, öffnen und bearbeiten.

Anzeige der Datei "bestellung_daten.csv" in Excel