ホームページ  >  記事  >  バックエンド開発  >  PHPでのob_flush()とflush()の使用について

PHPでのob_flush()とflush()の使用について

WBOY
WBOYオリジナル
2016-07-25 09:05:451047ブラウズ
注: ob_flush() と flash() の 2 つの関数は、通常、最初に ob_flush()、次にフラッシュ() という順序で使用されます。ここでは、リフレッシュ バッファをいつ使用するか、およびバッファをリフレッシュする理由について詳しく説明します。

注意: ob_flush() とフラッシュ() の 2 つの関数は、通常、最初に ob_flush()、次にフラッシュ() という順序で使用されます。 ここでは、リフレッシュ バッファをいつ使用するか、およびバッファをリフレッシュする理由について詳しく説明します。

1. バッファをいつ更新するか? 2 つの関数 file_get_contents() および file_put_contens() がプログラムで使用される場合、またはプログラムが同様の「読み取りおよび書き込み」関数を実行するかブラウザへの出力操作を実行する場合、ob_flush() および flash() はバッファーをリフレッシュするために使用されます。 。

2. バッファを更新する必要があるのはなぜですか? file_get_contents() と file_put_content() を例として説明します。

2 つの関数 file_get_contents() と file_put_conents() は、それぞれデータの読み取り操作と書き込み操作を実行します。これは、読み取り速度が書き込み速度よりも速いためです。データが読み取られても、データが書き込まれたことを意味するわけではありません。実際には、読み取られた内容はバッファ (メモリ) に置かれることになります。非常に速いアクション。

また、(プログラムがブラウザーへの出力操作を実行するとき) と説明しましたが、個々の Web サーバー プログラム、特に Win32 での Web サーバー プログラムは、結果をブラウザーに送信する前に、プログラムの終了までスクリプトの出力をキャッシュします。 。プログラムを実行後にのみブラウザに出力したくない場合は、ob_flush() と flash() を使用してキャッシュを更新することもできます。

実際、flush() には別の用途があります。それは、プログラムが終了する前に出力することです。つまり、ループが終了する前に結果の一部をブラウザーに出力できます。この効果は、ajax の非同期送信効果と非常によく似ています。 。



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