310 of 410 menu

関数 flock

関数 flock は、ファイルのロックを設定または解除します。最初のパラメータは、fopen を通して取得したファイルポインタを受け取り、2番目のパラメータはロックタイプ(LOCK_SH、LOCK_EX、または LOCK_UN)、3番目のオプションパラメータは非ブロッキング操作のためのフラグです。

構文

flock(resource $handle, int $operation, int &$would_block = null): bool

排他的アクセス(書き込み)のためのファイルロック:

<?php $file = fopen("data.txt", "c+"); if (flock($file, LOCK_EX)) { ftruncate($file, 0); fwrite($file, "New data"); flock($file, LOCK_UN); } fclose($file); ?>

読み取りのための共有ロック:

<?php $file = fopen("data.txt", "r"); if (flock($file, LOCK_SH)) { $content = fread($file, filesize("data.txt")); flock($file, LOCK_UN); } fclose($file); echo $content; ?>

ロック取得の非ブロッキング試行:

<?php $file = fopen("data.txt", "c+"); if (flock($file, LOCK_EX | LOCK_NB, $would_block)) { if ($would_block) { echo "File is locked by another process"; } else { fwrite($file, "Data"); flock($file, LOCK_UN); } } fclose($file); ?>

関連項目

  • 関数 fopen,
    ファイルを開きます
  • 関数 fclose,
    ファイルを閉じます
  • 関数 is_writable,
    書き込み可能性をチェックします
日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否