Beschrijving
bool
flock
( resource handle, int operation [, int wouldblock])
PHP
ondersteunt
een
portable
manier
van
het
blokkeren
van
complete
bestanden
op
een
geadviseerde
manier
(
wat
betekent
dat
alle
programma's
die
toegang
vragen
dezelfde
manier
van
blokkeren
moeten
gebruiken
,
omdat
het
anders
niet
werkt
)
.
flock(
)
werkt
op
handle
die
naar
een
geopend
bestand
moet
verwijzen
.
operation
is
een
van
de
volgende
waardes
:
-
Om
een
gedeelde
blokkering
te
krijgen
(
lezer)
,
zet
operation
op
LOCK_SH
(op
1
voor
versies
eerder
dan
PHP
4.0.1
)
.
-
Om
een
exclusieve
blokkering
te
krijgen
(
schrijver)
,
zet
operation
op
LOCK_EX
(op
2
voor
versies
eerder
dan
PHP
4.0.1
)
.
-
Om
een
gedeelde
of
exclusieve
blokkering
op
te
heffen
,
zet
operation
op
LOCK_UN
(
op
3
voor
versies
eerder
dan
PHP
4.0.1
)
.
-
Als
je
wilt
dat
flock(
)
niet
tegenhoudt
terwijl
je
blokkeerd
,
voeg
LOCK_NB
(4
voor
versies
eerder
dan
PHP
4.0.1
)
toe
aan
operation
.
flock(
)
maakt
het
mogelijk
om
een
simpel
lezer
/
schrijven
model
te
maken
die
op
bijna
elk
platform
gebruikt
kan
worden
(inclusief
Unix
aftakkingen
en
zelfs
Windows
)
.
De
optionele
derde
parameter
wordt
op
TRUE
gezet
als
de
blokkeringen
zal
tegenhouden
(
EWOULDBLOCK
error
)
.
flock(
)
geeft
TRUE
terug
als
het
goed
gaat
en
FALSE
als
er
een
fout
optreed
(bijvoorbeeld
als
de
blokkering
niet
opgeëist
kan
worden
)
.
Opmerking
:
Omdat
flock(
)
een
bestands
pointer
nodig
heeft
,
is
het
waarschijnlijk
nodig
om
een
speciale
blokkerings
bestand
aan
te
maken
om
toegang
tot
een
bestand
dat
je
wilt
openen
in
schrijf
modus
(met
een
"w
"
of
"w+
"
argument
in
fopen(
)
)
te
beveilign
.
Waarschuwing
|
flock(
)
werkt
niet
op
een
NFS
en
vele
andere
netwerk
bestands
systemen
.
Controleer
je
systeems
documentatie
voor
meer
details
.
Op
sommige
systemen
is
flock(
)
geïmplementeerd
op
proces
hoogte
.
Wanneer
je
dan
een
multithreaded
server
API
gebruikt
zoals
ISAPI
,
dan
kan
je
er
mogelijk
niet
van
uitgaan
dat
flock(
)
bestanden
beschermd
van
andere
PHP
scripts
die
in
parallele
threads
draaien
op
dezelfde
server
instantie
!
flock(
)
is
niet
ondersteund
op
verouderde
bestands
systemen
zoals
FAT
en
zijn
aftakkingen
en
zal
daarom
altijd
FALSE
terug
geven
in
die
omgevingen
(dit
is
voornamelijk
waar
voor
Windows
98
gebruikers
)
.
|