(PHP 5 >= 5.1.0)
SplFileObject::flock — 簡易なファイルロックを行う
flock() と同じ簡易な方法でファイルをロックもしくはロック解除する。
operation は次のいずれかです:
ロックがブロックされる場合 (errno が EWOULDBLOCK である)、TRUE にセットします。
成功した場合に TRUE を、失敗した場合に FALSE を返します。
例1 SplFileObject::flock() の例
<?php
$file = new SplFileObject("/tmp/lock.txt", "w");
if ($file->flock(LOCK_EX)) { // 排他ロックを行う
$file->ftruncate(0); // ファイルを丸める
$file->fwrite("ここで何かを書き出します\n");
$file->flock(LOCK_UN); // ロックを解除する
} else {
echo "ロックを取得できませんでした!";
}
?>