PHP flock() 函数
定义和用法
flock() 函数锁定或释放文件。
若成功,则返回 true。若失败,则返回 false。
语法
flock(Operacja flock(),blokada,block)
参数 | 描述 |
---|---|
Operacja flock() | 必需。规定要锁定或释放的已打开的文件。 |
blokada | 必需。规定要使用哪种锁定类型。 |
block | 可选。若设置为 1 或 true,则当进行锁定时阻挡其他进程。 |
说明
opis Operacja flock() file
blokada Musisz podać wskaźnik pliku, który został już otwarty.
- Parametr może przyjąć jedną z następujących wartości: blokada ustaw na LOCK_SH (w wersjach PHP 4.0.1 i wcześniejszych ustawionych na 1).
- Aby uzyskać blokadę wyłączną (program zapisujący), ustaw blokada ustaw na LOCK_EX (w wersjach PHP 4.0.1 i wcześniejszych ustawionych na 2).
- Aby zwolnić blokadę (zarówno wspólną, jak i wyłączną), ustaw blokada ustaw na LOCK_UN (w wersjach PHP 4.0.1 i wcześniejszych ustawionych na 3).
- Jeśli nie chcesz, aby flock() zablokował, podaj blokada dodaj LOCK_NB (w wersjach PHP 4.0.1 i wcześniejszych ustawionych na 4).
Wskazówki i komentarze
Wskazówka:Można to zrobić fclose() Aby zwolnić operację blokowania, kod jest również automatycznie wywoływany po zakończeniu wykonywania.
Komentarz:Ponieważ flock() wymaga wskaźnika pliku, może być konieczne użycie specjalnego pliku blokującego, aby chronić dostęp do pliku otwieranego w trybie zapisu (dodanie "w" lub "w+" do funkcji fopen()).
Przykład
<?php $file = fopen("test.txt","w+"); // blokada wyłączna if (flock($file,LOCK_EX)) { fwrite($file,"Napisz coś"); // zwolnienie blokady flock($file,LOCK_UN); } else { echo "Błąd blokowania pliku!"; } fclose($file); ?>