注: 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 の非同期送信効果と非常によく似ています。 。 |