Hello,
$fh = fopen($dateiname, 'a') ## Datei zum Anhängen öffen oder anlegen
if ($fh) fclose($fh);
$fh = fopen($dateiname, 'r+'); ## vorhandene Datei zum Lesen und Schreiben öffnen
$lock_ok = flock($fh, LOCK_EX); ## Datei zum Zwecke des Lesens _und_ Schreibens sperren
## PHP wartet solange, bis es geklappt hat
$file = fread($fh, filesize($dateiname)); ## Daten lesen# hier jetzt die Manipulationen vornehmen am Buffer, also $file
fseek($fh, 0, SEEK_SET); ## Dateizeiger zurück auf Anfang
fwrite($fh, $file); ## Veränderten Buffer zurückschreiben
ftruncate($fh, strlen($file)); ## Dateilänge auf Bufferlänge kürzen
fclose(); ## Datei schließen und wieder freigebenEs gibt mit advisory Locking keinen anderen Weg, der sicher funktioniert!
Um das noch klarzustellen. Die Methode, mit Kopie und Backup ist selbstverständlich noch sicherer. Hier ging es erstmal nur um die Methodik des Sperrens!
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
![](http://bitworks.de/~selfHTML/Virencheck.gif)