streamWrapper::stream_lock
(PHP 5, PHP 7, PHP 8)
streamWrapper::stream_lock β ΠΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΠ²Π½Π΅ Π±Π»ΠΎΠΊΡΠ²Π°Π½Π½Ρ ΡΠ°ΠΉΠ»Ρ
ΠΠΏΠΈΡ
public streamWrapper::stream_lock(int $operation): bool
Π¦Π΅ΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡΡΡΡΡ Ρ Π²ΡΠ΄ΠΏΠΎΠ²ΡΠ΄Ρ flock(), ΠΊΠΎΠ»ΠΈ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡΡΡΡΡ file_put_contents() (ΡΠΊΡΠΎ flags
ΠΌΡΡΡΠΈΡΡ LOCK_EX
stream_set_blocking() Π°Π±ΠΎ ΠΏΡΠΈ Π·Π°ΠΊΡΠΈΡΡΡ ΠΏΠΎΡΠΎΠΊΡ (LOCK_UN
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ²
operation
operation
ΠΌΠΎΠΆΠ΅ ΠΏΡΠΈΠΉΠΌΠ°ΡΠΈ ΠΎΠ΄Π½Π΅ Π· Π½Π°ΡΡΡΠΏΠ½ΠΈΡ
Π·Π½Π°ΡΠ΅Π½Ρ:
- **
LOCK_SH
**Π²ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠΈ Π·Π°Π³Π°Π»ΡΠ½Π΅ Π±Π»ΠΎΠΊΡΠ²Π°Π½Π½Ρ (Π΄Π»Ρ ΡΠΈΡΠ°Π½Π½Ρ). - **
LOCK_EX
**Π²ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠΈ Π΅ΠΊΡΠΊΠ»ΡΠ·ΠΈΠ²Π½Π΅ Π±Π»ΠΎΠΊΡΠ²Π°Π½Π½Ρ (Π΄Π»Ρ Π·Π°ΠΏΠΈΡΡ). - **
LOCK_UN
**Π·Π½ΡΡΠΈ Π±Π»ΠΎΠΊΡΠ²Π°Π½Π½Ρ (Π·Π°Π³Π°Π»ΡΠ½Π΅ Π°Π±ΠΎ Π΅ΠΊΡΠΊΠ»ΡΠ·ΠΈΠ²Π½Π΅). LOCK_NB
, ΡΠΊΡΠΎ Π²ΠΈ Π½Π΅ Ρ ΠΎΡΠ΅ΡΠ΅, ΡΠΎΠ±flock()Π½Π΅ Π±Π»ΠΎΠΊΡΠ²Π°Π²ΡΡ ΠΏΡΠ΄ ΡΠ°Ρ ΡΠΎΠ±ΠΎΡΠΈ. (Π½Π΅ ΠΏΡΠ΄ΡΡΠΈΠΌΡΡΡΡΡΡ Ρ Windows)
ΠΠ½Π°ΡΠ΅Π½Π½Ρ, ΡΠΎ ΠΏΠΎΠ²Π΅ΡΡΠ°ΡΡΡΡΡ
ΠΠΎΠ²Π΅ΡΡΠ°Ρ true
Ρ ΡΠ°Π·Ρ ΡΡΠΏΡΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ Π°Π±ΠΎ **false
**Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠΎΠΌΠΈΠ»ΠΊΠΈ
ΠΠΈΠΊΠ»ΠΈΠΊΠ°Ρ ΠΏΠΎΠΌΠΈΠ»ΠΊΡ **E_WARNING
**ΡΠΊΡΠΎ Π²ΠΈΠΊΠ»ΠΈΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π΅ Π²Π΄Π°Π²ΡΡ (ΡΠΎΠ±ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΡΠ΅Π°Π»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΉ).
ΠΠΈΠ²ΡΡΡΡΡ ΡΠ°ΠΊΠΎΠΆ
- stream_set_blocking() - ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΠΈ Π±Π»ΠΎΠΊΡΡΡΠΈΠΉ/Π½Π΅Π±Π»ΠΎΠΊΡΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ Ρ ΠΏΠΎΡΠΎΡΡ
- flock() - ΠΠΎΡΡΠΎΠ²Π°Π½Π΅ ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΠ²Π½Π΅ Π±Π»ΠΎΠΊΡΠ²Π°Π½Π½Ρ ΡΠ°ΠΉΠ»ΡΠ²