A hordozható tanácsadó fájlzárolás

bool állományban (resource $ handle. int $ működés [, int $ Wouldblock])

állomány () lehetővé teszi az egyszerű olvasó / író modell, amely felhasználható szinte minden platformon (beleértve a legtöbb a Unix és még Windows).

A PHP verziók előtt 5.3.2 Lock is megszabadítjuk hívja fclose () függvény (más néven végén automatikusan a script).

A PHP támogatja a hordozható módon zár tanácsadó (tanácsadó zár) teljesen a teljes fájlt (ami azt jelenti, hogy minden programot, amely az iratbetekintés kell használni ugyanazt a blokkolási eljárás, különben a zár nem fog működni). Alapértelmezésben ez a funkció megvárja a zár; Ez a viselkedés lehet változtatni a paraméter LOCK_NB alábbiakban ismertetjük.

paraméter lista

Pointer (forrás) a fájlt, jellemzően segítségével létrehozott fopen ().

művelet a következő értékeket:
  • LOCK_SH megosztott zár (olvasni).
  • LOCK_EX megszerzésének kizárólagos zár (write).
  • LOCK_UN hogy kiengedje a zárat (megosztott vagy kizárólagos).

Az is lehetséges, hogy adjunk LOCK_NB állandó, mint a bitmaszkként bármelyik fenti műveleteket, ha nem akarja megvárni a nyájat (), hogy a zár.

Az opcionális harmadik paraméter 1-be, ha a zár reteszelő (EWOULDBLOCK hibakód).

visszatérési értékei

TRUE értékkel tér vissza siker hiba esetén FALSE.

jegyzetek

A Windows állományban () használ kötelező (kötelező) helyett tanácsadó zár. Kötelező zár is támogatja, és Linux operációs rendszerek alapján a System V egy szabványos mechanizmus, amely rendszer hívás fcntl (): azaz, a kívánt fájlt kell telepíteni setgid bit-hozzáféréssel és meghatározhatatlan bit csoport teljesítményét. A helyes működését a program a Linux, a fájlrendszer is fel kell szerelni mand.

Tekintettel arra, hogy a nyájat () függvény esetében a mutató egy fájlt, akkor kell használni egy speciális rögzítő fájl korlátozza a hozzáférést a fájlt, amelyet meg kíván tisztítani, nyissa meg azt írási üzemmódban (a „w” vagy „w + „, mint a fopen () függvény argumentum).

Ezt fel lehet használni, csak helyi fájlleírókkal által visszaadott fopen () függvény. vagy fájlleírók felhasználó áramlások végrehajtási streamWrapper :: stream_lock () metódust.

Hozzárendelése másik az argumentum értéke fogantyú a következő kódot törli a meglévő zár.

Egyes operációs rendszerek állományt () végrehajtása a folyamatok szintjén. Amikor egy többszálas kiszolgáló API, mint például egy ISAPI, akkor nem hivatkozhat állományban (), hogy megvédje a fájlok és a többi PHP szkriptek futnak párhuzamosan a patak ugyanazon a szerveren!

állomány () nem támogatott a régebbi fájlrendszerek mint FAT és származékai, így mindig vissza HAMIS ebben a közegben (ez különösen igaz a Windows 98 felhasználóknak).

Kapcsolódó cikkek