PHP flock() 函数
定义和用法
flock() 函数锁定或释放文件。
若成功,则返回 true。若失败,则返回 false。
语法
flock(Operasi kunci flock(),kunci,block)
参数 | 描述 |
---|---|
Operasi kunci flock() | 必需。规定要锁定或释放的已打开的文件。 |
kunci | 必需。规定要使用哪种锁定类型。 |
block | 可选。若设置为 1 或 true,则当进行锁定时阻挡其他进程。 |
Penerangan
Penerangan Operasi kunci flock() fail
kunci Mesti adalah pengecaman fail yang sudah dibuka.
- Parameter boleh adalah salah satu daripada nilai berikut: kunci disebabkan LOCK_SH (disebabkan 1 dalam versi PHP 4.0.1 sebelumnya).
- Untuk mendapatkan kunci eksklusif (program tulis), atur kunci disebabkan LOCK_EX (disebabkan 2 dalam versi PHP 4.0.1 sebelumnya).
- Untuk melepaskan kunci (sama ada bersamaan atau eksklusif), atur kunci disebabkan LOCK_UN (disebabkan 3 dalam versi PHP 4.0.1 sebelumnya).
- Jika tidak mahu flock() terhalang semasa mengekalkan kunci, berikan kunci Tambah LOCK_NB (disebabkan 4 dalam versi PHP 4.0.1 sebelumnya).
Panduan dan Komentar
Panduan:Dapat melalui fclose() Operasi kunci akan di panggil secara automatik ketika program selesai dijalankan.
Komentar:Karena flock() memerlukan pengecaman fail, mungkin perlu menggunakan fail kunci khusus untuk melindungi akses fail yang diinginkan untuk dibuka dalam mod tulis (tambah "w" atau "w+" dalam fungsi fopen()).
Contoh
<?php $file = fopen("test.txt","w+"); // Exclusive locking if (flock($file,LOCK_EX)) { fwrite($file,"Write something"); // release lock flock($file,LOCK_UN); } else { echo "Error locking file!"; } fclose($file); ?>