Tom: Also nochmal

Beitrag lesen

Hello,

Passt es so nun? Ist filesize in fread() überhaupt noch notwendig?

Nein. Du hättest doch nur lesen müssen.

#vorhandene Datei zum Lesen und Schreiben öffnen
  $fh = fopen('content.html', 'rb+');   ## rb+ ist noch besser!

# wenn das geklappt hat
  if ($fh)
  {
     #Datei sperren
     $lock_ok = flock($fh, LOCK_EX);

#Datei lesen
     $file = fread($fh, filesize('content.html'));

#Text einfügen
     $file = "neuer Text vorne dran \n" . $file . "neuer Text hinten dran\n";

#Dateizeiger zurück
     fseek($fh, 0, SEEK_SET);  ## ist besser als rewind() und bewirkt hier das Gleiche

#Buffer zurückschreiben, sprich schreibt in Handle $fh den neuen content $file
     fwrite($fh, $file);

ftruncate($fh, strlen($file));
     # Das macht man, um die Datei auf die Länge des neuen Contents zu kürzen, falls
       der alte länger war. Anderenfalls kann man sich das schenken.

#schliessen
     fclose($fh);

Schau es Dir nochmal in Ruhe an.
Wenn man nicht mit Kopie und Backup arbeiten will, sollte man es so machen.

Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau