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);
?>