21.23 Eine Datei sperren

Problem

Sie wollen alleinigen Zugang zu einer Datei haben, um Änderungen durch Dritte zu verhindern, während Sie die Datei einlesen oder ändern. Wenn Sie zum Beispiel Informationen eines Gästebuchs in eine Datei speichern, sollten zwei Benutzer gleichzeitig die Möglichkeit haben, Gästebucheinträge durchzuführen, ohne sich gegenseitig in die Quere zu kommen.

Lösung

Verwenden Sie flock( ), um eine unverbindliche Sperre anzuzeigen:

$fh = fopen('guestbook.txt','a')         or die($php_errormsg);
flock($fh,LOCK_EX)                       or die($php_errormsg);
fwrite($fh,$_REQUEST['guestbook_entry']) or die($php_errormsg);
fflush($fh)                              or die($php_errormsg);
flock($fh,LOCK_UN)                       or die($php_errormsg);
fclose($fh)                              or die($php_errormsg);

Diskussion

Die Art der von ...

Get PHP 5 Kochbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.