(PHP 5 >= 5.1.0, PHP 7)
SplFileObject::flock — 簡易なファイルロックを行う
$operation
[, int &$wouldblock
] )flock() と同じ簡易な方法でファイルをロックもしくはロック解除する。
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 "ロックを取得できませんでした!";
}
?>