English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 基礎教程

PHP 上級教程

PHP & MySQL

PHP 参考マニュアル

PHP flock() 函数の使用法および例

    PHP Filesystem 参考マニュアル

flock()関数はファイルをロックまたは解放し、成功時にはtrue、失敗時にはfalseを返します。

構文

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

flock()関数はシンプルな読み取り者を実行するために許可します/書き込みモデル、このモデルはほぼすべてのプラットフォームで使用できます。

コメントとヒント

コメント:これらのロックは現在のPHPプロセス内でのみ使用されます。権限が許可されると、他のプロセスはPHPロックされたファイルを変更したり削除したりできます。-ロックされたファイル。
コメント:flock()はWindowsでは強制です。
ヒント:fclose()を使用してロック操作を解放できます。スクリプトの実行完了時に自動的に呼び出されます。

パラメータ

パラメータ説明
handle
必須。ロックまたは解放する既にオープンしたファイルを指定します。
operation
必須。使用するロックタイプを指定します。

可能な値:

  • LOCK_SH - 共有ロック(読み取りプログラム)。他のプロセスがこのファイルにアクセスを許可します。

  • LOCK_EX - 独占ロック(書き込みプログラム)。他のプロセスがこのファイルにアクセスするのを防ぎます。

  • LOCK_UN - 共有ロックまたは独占ロックを解放

  • LOCK_NB - ロック時には他のプロセスをブロックしないように

    これらのロックは現在のPHPプロセス内でのみ使用され、権限が許可されると、他のプロセスはPHPロックされたファイルを変更したり削除したりできます。Windowsでは、この関数は必須です。fclose()関数を使用してロック操作を解放し、スクリプトの実行完了時に自動的にロック操作を解放できます。

wouldblock
オプション。設定すると 1、ロック時には他のプロセスをブロックします。

オンラインサンプル

fclockの独占ロックLOCK_EXの使用例:

<?php
   $file = fopen("/PhpProject/sample.txt", "w+
   //独占ロック
   if(flock($file, LOCK_EX)) {
      fwrite($file, "flock function");
      
       // ロックを解放
      flock($file, LOCK_UN);
      echo $file;
   } else {
      echo "ファイルロック中にエラーが発生しました!";
   }
   fclose($file);
?>

PHP Filesystem 参考マニュアル