streamWrapper::stream_lock

(PHP 5, PHP 7, PHP 8)

streamWrapper::stream_lockファイルのアドバイザリ・ロック

説明

public streamWrapper::stream_lock(int $operation): bool

このメソッドは、flock() に対応してコールされます。また file_put_contents() (flagsLOCK_EX を含む場合)、 stream_set_blocking() がコールされたときやストリームを閉じるとき (LOCK_UN) にもコールされます。

パラメータ

operation

operation は以下のいずれかとなります。

  • LOCK_SH 共有ロック (読み込み) を確保します。
  • LOCK_EX 排他ロック (書き込み) を確保します。
  • LOCK_UN ロック (共有あるいは排他) を開放します。
  • LOCK_NB flock() によるロック中にブロックしない (Windows ではサポートしていません)。

戻り値

成功した場合に true を、失敗した場合に false を返します。

エラー / 例外

このメソッドのコールに失敗した場合 (実装されていないなど) は E_WARNING を発行します。

参考

  • stream_set_blocking() - ストリームのブロックモードを有効にする / 解除する
  • flock() - 汎用のファイルロックを行う

関連キーワード:  アドバイザリ・ロック, stream, streamWrapper, ファイル, ロック, コール, lock, operation, flock, blocking