PHP Handbuch
Zurück |  | Nach vorne

# flock

(3.0.7 - 3.0.18 only, PHP 4 >= 4.0.0)

flock -- Portables Datei-Verriegelungs-Verfahren

## Beschreibung

``bool flock` (int fp, 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 `fp` welcher ein existierender Dateizeiger sein muss. Der Parameter `operation` bestimmt die Art der Verriegelung und kann einen der folgenden Werte annehmen:

- Um eine verteilte, nur lesende Verriegelung zu erhalten, setzten Sie `operation` auf LOCK_SH (bzw. 1 vor PHP 4.0.1).

- Um eine exklusive, nur schreibende Verriegelung zu erhalten, setzen Sie `operation` auf LOCK_EX (bzw. 2 vor PHP 4.0.1).

- Um eine Verriegelung freizugeben (lesend oder schreibend), setzten Sie `operation` auf LOCK_UN (bzw. 3 vor PHP 4.0.1).

- Wenn Sie Zugriffe während der Verriegelung durch flock() erlauben wollen, fügen Sie LOCK_NB (bzw. 4 vor PHP 4.0.1) zu `operation` hinzu.

flock() erlaubt es Ihnen ein einfaches Leser/Schreiber Modell zu erstellen, welches auf fast jeder Plattform benutzt werden kann (inkl. den meisten UNICES- und Windows-Systemen). 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.

Warnung
Bei den meisten 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-Scripten zu schützen, welche in parallelen Threads der gleichen Server-Instanz laufen!

Zurück | Zum Anfang | Nach vorne
filetype | Nach oben | fopen