Manußl PHP | ||
---|---|---|
P°edchßzejφcφ | Dal╣φ |
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! |
P°edchßzejφcφ | Dom∙ | Dal╣φ |
filetype | Nahoru | fopen |