(PHP 3>= 3.0.7, PHP 4 >= 4.0.0)
flock -- JednotnΘ "portable advisory" zamykßnφ
souboru
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!
|