この記事では、flock を使用してファイル ロックを実装する PHP の例について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:
Flock については公式ドキュメントで説明されています: flock() を使用すると、任意のプラットフォーム (ほとんどの Unix 派生製品や Windows も含む) で使用できる単純な読み取り/書き込みモデルを実装できます。ロックがブロックされる場合 (EWOULDBLOCK エラー コードの場合)、オプションの 3 番目のパラメータを TRUE に設定します。ロック操作は fclose() によって解放することもできます (コードの実行が完了すると自動的に呼び出されます)。
簡単に言えば、ファイルをロックして、複数のプロセスによるファイルへのアクセスを制限し、競合を防ぐことです。例:
リーリー説明:
1. このコードの意味は、ファイル test.txt を読み取りおよび書き込みモードで開くことです。つまり、ユーザーが php ページを呼び出すと、flock($file, LOCK_EX) が実行されます。コードが実行されます。つまり、test.txt ファイルは排他的にロックされており (ファイルはこのユーザーのみが読み書きできます)、他の新しいユーザーがそのファイルにアクセスしようとしても、前者が閉じるまでブロックされます。ファイル (ロックを解放します)。
2. コードを flock($file,LOCK_EX+LOCK_NB) に変更すると、ロック時に直接エラーが返されることを意味します。その後、新しいユーザーがファイルにアクセスすると、「ファイルのロック中にエラーが発生しました!」が出力されます。
3. この関数の構文は flock(file,lock,block) で、file は必須です。開いているファイルをロックまたは解放するように指定します。ロックが必要です。使用するロックのタイプを指定します。ブロックはオプションです。 1 または true に設定すると、ロック中に他のプロセスがブロックされます。例: 複数のプロセスが同じファイルを同時に正常に書き込むことができるようにするための PHP コードを作成してください
リーリー
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。