flock() 関数は、ファイルをロックまたは解放します。
成功すると、関数は TRUE を返します。失敗した場合は FALSE を返します。
flock(ファイル,ロック,ブロック)
パラメータ | 説明する |
---|---|
ファイル | 必須。開いているファイルをロックまたは解放するように指定します。 |
ロック | 必須。使用するロックのタイプを指定します。 可能な値: LOCK_SH - 共有ロック (プログラムの読み取り)。他のプロセスがファイルにアクセスできるようにします。 LOCK_EX - 排他ロック (プログラムの書き込み)。他のプロセスがファイルにアクセスできないようにします。 LOCK_UN - 共有ロックまたは排他ロックを解放します。 LOCK_NB - ロックされているときに他のプロセスをブロックしないようにします。 |
ブロック | オプション。 1 に設定すると、ロック中に他のプロセスがブロックされます。 |
注:これらのロックは、現在の PHP プロセス内でのみ使用されます。権限が許可されていれば、他のプロセスは PHP でロックされたファイルを変更または削除できます。
注: Windows では flock() は必須です。
ヒント: fclose() を使用してロック操作を解放できます。これは、スクリプトの実行が完了すると自動的に呼び出されます。
<?php$file = fopen("test.txt","w+");// 排他的ロックif (flock($file,LOCK_EX)) { fwrite($file,"何かを書き込む"); // ロックを解除します flock( $file,LOCK_UN); }else { echo "ファイルのロック中にエラーが発生しました!" }fclose($file);?>