(PHP 5 >= 5.1.0, PHP 7)
SplFileObject::flock — 簡易なファイルロックを行う
$operation
[, int &$wouldblock
] ) : boolflock() と同じ簡易な方法でファイルをロックもしくはロック解除する。
operation
operation は次のいずれかです:
LOCK_SH。
LOCK_EX。
LOCK_UN。
LOCK_NB (Windows ではサポートされません)。
wouldblock
ロックがブロックされる場合 (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 "ロックを取得できませんでした!";
}
?>