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
!
|