Fungsi flock() PHP

Definisi dan penggunaan

Fungsi flock() mengunci atau melepaskan file.

Jika sukses, kembalikan true. Jika gagal, kembalikan false.

Syntaks

flock(Operasi flock(),kunci,block)
Parameter Deskripsi
Operasi flock() Diperlukan. Menentukan file yang terbuka yang akan dikunci atau dilepas.
kunci Diperlukan. Menentukan jenis penguncian yang akan digunakan.
block Opsional. Jika diatur menjadi 1 atau true, maka saat mengunci akan menghalangi proses lain.

说明

Keterangan Operasi flock() berkas

kunci Harus menjadi penanda berkas yang sudah dibuka.

  • Parameter dapat berupa salah satu nilai berikut: kunci diatur menjadi LOCK_SH (diatur menjadi 1 di versi PHP 4.0.1 sebelumnya).
  • Untuk mendapatkan kunci eksklusif (program tulis), atur kunci diatur menjadi LOCK_EX (diatur menjadi 2 di versi PHP 4.0.1 sebelumnya).
  • Untuk melepaskan kunci (baik bersamaan atau eksklusif), atur kunci diatur menjadi LOCK_UN (diatur menjadi 3 di versi PHP 4.0.1 sebelumnya).
  • Jika tidak ingin flock() menahan saat mengkunci, berikan kunci Ditambahkan dengan LOCK_NB (diatur menjadi 4 di versi PHP 4.0.1 sebelumnya).

Petunjuk dan Keterangan

Petunjuk:Dapat melalui fclose() Untuk melepaskan operasi kunci, kode dijalankan saat operasi selesai secara otomatis pula.

Keterangan:Karena flock() memerlukan penanda berkas, mungkin harus digunakan berkas kunci khusus untuk melindungi akses berkas yang diinginkan untuk dibuka dalam mode tulis (tambahkan "w" atau "w+" ke 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);
?>