phpのflockの機能は、ファイル操作時にファイルをロックすることであり、ロックが解除されている場合のみ利用可能です。
PHPのflockの機能はファイル操作時にファイルをロックすることであり、ロックが解除されている場合のみ利用可能です。
群れ
(PHP 4、PHP 5)
flock - ポータブル勧告ファイルロック
説明
ブール値グループ(resource$process, int$operation[summary&$wouldblock])
flock() を使用すると、ほぼすべてのプラットフォーム (ほとんどの Unix 派生製品や Windows も含む) で使用できる単純なリーダー/ライター モードを実装できます。
ロックは fclose() (スクリプト化された場合はオートコンプリートとも呼ばれます) によっても解放されます。
PHP は、フル ファイル アドバイザリ モードでのポータブル モード ロックをサポートしています (つまり、アクセスするすべてのプログラムが同じロック モードを使用する必要があり、そうしないと機能しません)。
パラメータ
ハンドル
開いているファイル ポインター。
作戦
次のいずれかを実行します:
LOCK_SH は共有ロック (リーダー) を取得します。
LOCK_EX が排他ロック (ライター) を取得しました。
LOCK_UN はロック (共有またはプライベート) を解放します。
ロック中に flock() をブロックしたくない場合は、LOCK_NB。 (Windows ではサポートされていません)
ブロックします
ロックがブロックされる場合 (EWOUULDBLOCK errno 条件)、オプションの 3 番目のパラメーターは TRUE に設定されます。
戻り値
成功または失敗時に TRUE または FALSE を返します。
編集
リリースノート
4.0.1 定数 LOCK_XXX が追加されました。その前に、1 LOCK_SH、2 LOCK_EX、3 LOCK_UN、4 LOCK_NB を使用する必要があります
例
#1flock() の例
$fp = fopen("/tmp/lock.txt", "w+");
if (flock($fp, LOCK_EX)) { // 排他ロックを実行します
fwrite($fp, "ここに何かを書いてください");
flock($fp, LOCK_UN); // ロックを解放します
} その他 {
echo "ファイルをロックできませんでした!";
}
fclose($fp);
?>