====== 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]) * Mit der Funktion ''fputs()'' können Sie eine beliebige Zeichenkette in eine Datei schreiben. * Die entsprechende Datei wird über den mit ''fopen()'' festgelegten Dateizeiger angesprochen. * Ist der optionale Parameter Länge angegeben, wird das Schreiben nach der angegebenen Anzahl Bytes beendet. Geben Sie ihn nicht an, wird die gesamte Zeichenkette geschrieben. * ''fputs()'' gibt bei Erfolg die Anzahl der geschriebenen Bytes zurück, andernfalls ''FALSE''. 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. {{:inf:inf7b_201011:php:php5-s71.jpg?400|Anzeige nach der Absendung des Formulars "bestellformular.html"}} Datei konnte nicht zum Schreiben geöffnet werden

"; 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 "

Folgende Angaben wurden gespeichert

"; echo "$name
"; echo "$strasse
"; echo "$ort
"; echo "$menge kg $sorte
"; fclose($datei); ?>
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. * Es wird geprüft, ob das Öffnen der Datei erfolgreich war. * Wenn die Datei nicht erfolgreich geöffnet werden kann, wird mit exit das Programm gestoppt. Mit exit beenden Sie - ohne Möglichkeit der Rückkehr - die Skriptausführung. * Die Variablen $name, $strasse etc. werden mit den Daten, die aus dem Formular übergeben wurden, gefüllt. * Über die Funktion ''fputs()'' werden die Werte der Variablen in die geöffnete Datei geschrieben. Hierbei werden die Daten jeweils durch ein Semikolon voneinander getrennt, und am Ende einer Zeile wird mit-hilfe von "\n" ein Zeilenvorschub erzeugt, um die neuen Daten in eine eigene Zeile zu schreiben. * Die geöffnete Datei wird geschlossen. *.csv können Sie mit Programmen, wie z. B. Microsoft Excel, öffnen und bearbeiten. {{:inf:inf7b_201011:php:php5-s72.jpg?400|Anzeige der Datei "bestellung_daten.csv" in Excel}}