| | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
flock(PHP 4, PHP 5) flock — 汎用のファイルロックを行う 説明
bool flock
( resource $handle
, int $operation
[, int &$wouldblock
] )
flock() を使うと、(ほとんどの Unix、そして Windows さえ含む) 事実上すべてのプラットフォームで使用可能な、簡易な読み手/書き手モデルを実現できます。 PHP 5.3.2 より前のバージョンでは、fclose() でロックの解放も行います (これは、スクリプトが終了した場合にも自動的にコールされます)。 PHP は、恣意的にファイルをロックする汎用の手段を提供します (これは、アクセスする全プログラムが同一のロックの方法を使用する必要があり、 そうでない場合は動作しないことを意味します)。 デフォルトでは、要求したロックが確保されるまでこの関数はブロックします。 (非 Windows プラットフォームでは) 以下で説明する LOCK_NB オプションでこの挙動を制御することができます。 パラメータ
返り値成功した場合に TRUE を、失敗した場合に FALSE を返します。 変更履歴
例
例1 flock() の例
<?php
例2 flock() で LOCK_NB オプションを使う例
<?php注意
警告
一連のコードで別の値を handle 引数に代入すると、 それ以降のコードでロックを解放します。 警告
いくつかのオーペレーティングシステムでflock() はプロセスレベルで実装されています。ISAPIのようなマルチスレッド 型のサーバーAPIを使用している場合、同じサーバーインスタンスの並 列スレッドで実行されている他のPHPスクリプトに対してファイルを保 護する際に flock()を使用することはできません! flock()はFATのような 旧式のファイルシステムではサポートされていないため、 そのような環境の場合は常にFALSEを返すことになります。 (これは特にWindows98ユーザーにとって常に真です) |
|
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「flock - 汎用のファイルロックを行う」をGoogle検索
|