September 2009
Intermediate to advanced
912 pages
48h 11m
German
Sie wollen eine Datei ändern, ohne die Änderungen in einer temporären Datei zwischenzuspeichern.
Lesen Sie die Datei in den Speicher ein, führen Sie die Änderungen durch und schreiben Sie die Datei wieder. Öffnen Sie die Datei mit dem Modus r+ (rb+ unter Windows, falls notwendig) und korrigieren Sie nach dem Schreiben der Änderungen die Länge mit ftruncate():
// Datei zum Lesen und Schreiben öffnen. $fh = fopen('pickles.txt','r+') or die($php_errormsg); // Gesamte Datei in $s speichern. $s = fread($fh,filesize('pickles.txt')) or die($php_errormsg); // ... $s modifizieren ... // An den Dateianfang zurückspringen und das neue $s schreiben. rewind($fh); if (-1 == fwrite($fh,$s)) ...