flock

flock -- Portables Datei-Verriegelungs-Verfahren

Beschreibung

bool flock ( resource handle, int operation [, int wouldblock])

PHP liefert einen portablen Weg , Dateien in einer " beratenden " Art und Weise zu verriegeln . D.h . alle zugreifende Programme müssen die gleiche Art und Weise der Verriegelung benutzen , oder es funktioniert nicht .

flock( ) arbeitet mit handle , welcher ein existierender Dateizeiger sein muss . Der Parameter operation bestimmt die Art der Verriegelung und kann einen der folgenden Werte annehmen :



flock( ) erlaubt es Ihnen ein einfaches Leser / Schreiber Modell zu erstellen , welches auf fast jeder Plattform benutzt werden kann (inkl . den meisten UNIX-Derivaten und auch Windows ) . Das optionale dritte Argument ist auf TRUE gesetzt , wenn die Verriegelung sperren sollte ( EWOULDBLOCK errno Bedingung ) .

flock( ) gibt TRUE bei Erfolg , FALSE wenn ein Fehler auftrat (z.B . wenn eine Verriegelung nicht erstellt werden konnte ) zurück .

Anmerkung : Da flock( ) einen Dateizeiger benötigt , könnten Sie eine spezielle Sperrdatei benutzen , um den Zugriff auf eine Datei zu schützen , welche Sie mittels Öffnen im Schreibmodus (mit dem Argument "w " or "w+ " von fopen( ) ) kürzen wollen .

Warnung

flock( ) funktioniert nicht auf NFS und verschiedenen anderen vernetzten Dateisystemen . Für weitere Detail konsultieren Sie bitte Ihre Betriebssystemdokumentation .

Bei einigen Betriebssystemen ist flock( ) auf dem Prozesslevel implementiert . Wenn Sie ein multithreaded Server API wie ISAPI benutzen können Sie sich nicht auf flock( ) verlassen , um Dateien vor anderen PHP-Skripten zu schützen , welche in parallelen Threads der gleichen Server-Instanz laufen !

flock( ) wird antiquierten Dateisystemen wie FAT und dessen Derivate nicht unterstützt , und gibt deshalb in solchen Umgebungen immer FALSE zurück (Dies ist speziell bei Windows 98 Benutzern der Fall ) .