flush()、ob_flush()、および ob_end_flush() の違い:
まず、4096 (1kb) のメモリ アドレス空間であるバッファについて話しましょう [php.ini 設定ファイルで Output_buffering 設定を見つけます] , PHPにはphpのoutput_bufferingメカニズムがあり、PHPコードが実行されるとすぐに内容を出力するのではなく、バッファーがいっぱいになるとデータがシステムカーネルに渡されます。ブラウザは、php の出力バッファリングメカニズムがオンになっている場合 (デフォルトでオンになっており、ob_start() 関数を通じてオンにすることができます)、php バッファ内のデータが設定値により、バッファ内のデータがブラウザに送信されます。
ただし、ブラウザーにもキャッシュがあります。ブラウジングの一部のバージョンでは、データが 256 バイトに達したときにのみコンテンツを出力します。flush() は出力を待機しているコンテンツをクライアントにすぐに送信できますが、ob_flush() はバッファーがいっぱいになるまで待機することしかできません。の場合のみ出力します。
これを確認するための簡単な例を示します: