PHP ファイル書き込みの排他制御
2011.02.25
この記事は最終更新日から1年以上が経過しています。
排他制御鵜とはコンピュータの動作において、複数のプロセスからの同時アクセスにより
競合が発生する時に、独占的に利用させている間は、
他のプロセスが利用できないようにする事です。
ファイル書き込み時にそれを行う時「flock()」関数を使用すると良いでしょう。
flock((ファイルポインタ), (処理区分))
ファイルをロック、ロック解除します。
処理が成功すれば「TRUE」を、失敗すれば「FALSE」の値を返します。
処理区分 | 処理内容 |
LOCK_SH | 共有ロック指定 |
LOCK_EX | 排他ロック指定 |
LOCK_UN | ロックの解除 |
記述サンプル
$fp = @fopen("count.txt","r+") or die("ファイルが開けません");//読み書きモードでオープン flock($fp, LOCK_EX); $count = fgets($fp, 64); //64バイトorEOFまで取得、カウントアップ rewind($fp); //ポインタを先頭に、ロックして書き込み