Datei erstellen, ergänzen
So erzeuge und beschschreibe ich eine leere Datei oder hänge etwas an eine bestehende Datei an.
Eine Datei überschreiben
fwrite(); oder fputs();
Die folgenden Beispiele mit fputs(); funktionieren genau gleich mit fwrite();
<?php
// Eine Datei neu anlegen und hinein schreiben mit dem Modus w
if($fp = fopen("datei_schreib.dat","w")) {
// in $fp ist der Filehandler und auch die Cursorposition abgelegt
fputs($fp,"Durch fopen mit den Modus w wurde eine Datei namens datei_schreib.dat erstellt \n<br />
oder zum überschreiben geöffnet falls schon vorhanden.\n<br />");
fputs($fp,"Diese Botschaft wurde dann mit fputs in jene Datei geschrieben.\n<br />");
fputs($fp,"Die Datei wurde mit fclose geschlossen.\n<br />");
fclose($fp);
}
// Holen und ausgeben der Datei datei_schreib.dat
echo "Inhalt der Datei datei_schreib.dat ist:<br />";
include("datei_schreib.dat");
?>
Durch fopen mit den Modus w wurde eine Datei namens datei_schreib.dat erstellt
oder zum überschreiben geöffnet falls schon vorhanden.
Diese Botschaft wurde dann mit fputs in jene Datei geschrieben.
Die Datei wurde mit fclose geschlossen.
Das funktioniert auf meinem virtellen Server zuhause perfekt, aber beim 'Host' muss dem Ordner 'php' durch 'chmod' erlaubt sein
- gelesen, beschrieben und ausgeführt zu weden.
Darum beginnt das Öffnen mit einer if-Anweisung,
damit keine Fehlermeldung ausgegeben wird, fall die Datei nicht angelegt oder geöffnet werden kann.
Möchte man stattdessen eine Fehlermeldung ausgeben, dann verwende man 'or die();' wie im nächsten Beispiel.
An eine Datei anhängen
<?php
$file="datei_schreib.dat";
$fp=fopen($file, "a")
or die("Konnte $file nicht öffnen");
fputs ($fp, "Durch fopen im Modus a wird am Ende der Datei $file dieser, durch fputs geschriebene, Text angefügt.");
fclose($fp); // Datei muss immer geschlossen werden
# Holen und ausgeben der Datei datei_schreib.dat
echo "<b>Der Inhalt der ganzen Datei $file ist jetzt:</b><br />";
include("$file");
?>
Durch fopen mit den Modus w wurde eine Datei namens datei_schreib.dat erstellt
oder zum überschreiben geöffnet falls schon vorhanden.
Diese Botschaft wurde dann mit fputs in jene Datei geschrieben.
Die Datei wurde mit fclose geschlossen.
Durch fopen im Modus a wird am Ende der Datei datei_schreib.dat dieser, durch fputs geschriebene, Text angefügt.
Eine Datei manipulieren
Etwas moderner geht das mit file_put_contents().
Durch einen Trick gelingt es auch inmitten einer Datei etwas hinein zu schreiben.