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.