Popis
bool
flock ( int fp, int operation [, int wouldblock])
PHP podporuje "portable" způsob zamykání celých souborů na základě
jednotného "advisory" principu (tzn. všechny přistupující programy
musí používat tentýž systém zamykání, jinak to nebude fungovat).
flock() funguje na deskriptoru
fp, který musí patřit otevřenému souboru.
operation je jedna z následujících hodnot:
K získání sdíleného (shared) zámku (čtení) nastavte
operation na LOCK_SH (resp. 1 u verzí do
PHP 4.0.1).
K získání výhradního zámku (zápis) nastavte
operation na LOCK_EX (resp. 2 u verzí do
PHP 4.0.1).
K uvolnění zámku (sdíleného nebo výhradního) nastavte
operation na LOCK_UN (resp. 3 u verzí do
PHP 4.0.1).
Pokud nechcete, aby funkce flock() blokovala
během zamykání, přidejte k operation
hodnotu LOCK_NB (4 pro verze do PHP 4.0.1).
flock() umožnuje jednoduchý model čtení/zápis
použitelný teoreticky na všech platformách (včetně většiny
Unixů a nejspíš i Windows). Nepovinný třetí argument se nastaví na
TRUE, pokud by zámek měl blokovat (EWOULDBLOCK errno podmínka).
flock() vrací TRUE při úspěchu, FALSE při
chybě (např. když nelze vytvořit zámek).
| Varování |
Na většině operačních systémů je funkce flock()
implementována na úrovni procesů. Při použití multithreadového
serverového API (jako je ISAPI) nemůžete spoléhat na ochranu
souborů proti jiným PHP skriptům běžícím v paralelních vláknech
stejné instance serveru!
|