ホームページ  >  記事  >  バックエンド開発  >  PHPファイルロックについて簡単に説明します

PHPファイルロックについて簡単に説明します

高洛峰
高洛峰オリジナル
2017-02-21 15:27:421696ブラウズ

PHP でのファイル ロックと mysql テーブル ロックの一般的な使用法は、同時に 1 人だけが操作できるようにすることで、複数の人が同じファイルを同時に操作してデータの損失につながる状況を回避します。 PHP ファイルロックの使用法については以下で説明します。

ロック メカニズムは、同時実行性によって引き起こされるリソースの競合のために存在します。操作の有効性と整合性を確保するために、ロック メカニズムを使用して同時状態をシリアル状態に変換できます。 PHP のファイル ロックもロック メカニズムの 1 つであり、リソースの競合に対処するように設計されています。大量の同時実行の場合、fwrite を使用してファイルの最後にデータを複数回書き込みます。ロックしないとどうなるでしょうか。複数の順序付けされた書き込み操作は 1 つのトランザクションに相当し、この時点でこのトランザクションの整合性を確保する必要があります。

2 つのプログラムが同時にファイルにデータを書き込む場合、データの整合性を確保するために、ファイル ロックを追加し、プログラム 1 を最初に実行させ、プログラム 1 の実行後にロックを解除し、次に、プログラム 2 を実行します。実装コードは次のとおりです:

$fp = fopen('test.txt',"a");
$count = 10;
if (flock($fp, LOCK_EX)) {
for($i=1;$i<$count;$i++){
fwrite($fp, &#39;text2_&#39;.$i."rn");
echo "test2".date(&#39;h:i:s&#39;) . "
";
sleep(1); 
echo "test2".date(&#39;h:i:s&#39;);
}
flock($fp , LOCK_UN);
}else{
echo "Couldn&#39;t lock the file !";
}
fclose($fp);

PHP ファイルロック関連記事の簡単な話については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。