ホームページ  >  記事  >  バックエンド開発  >  PHP は flock を使用してファイル ロックを実装します。_PHP チュートリアル

PHP は flock を使用してファイル ロックを実装します。_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:47:541189ブラウズ

PHP は flock を使用してファイル ロックを実装します

この記事では、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 プログラミング設計に役立つことを願っています。

http://www.bkjia.com/PHPjc/1024927.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/1024927.html技術記事 PHP は flock を使用してファイル ロックを実装します。この記事では、flock を使用してファイル ロックを実装する PHP の例について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです: 公式文書の群れ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。