この記事では、ob_flush と flash の違いを紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
マニュアルの ob_flush/flush の説明では、出力バッファを更新し、組み合わせて使用する必要があるため、多くの人に混乱を引き起こす可能性があります...
実際には、これらは別のオブジェクトに対して動作します。場合によっては、フラッシュはまったく何もしません。
ob_* 一連の関数は、PHP 自体の出力バッファを動作させます。
したがって、 ob_flush これは、PHP 自身のバッファをリフレッシュすることです。
そして、フラッシュは、厳密に言えば、PHP が Apache モジュール (ハンドラーまたはフィルター) としてインストールされている場合にのみ実際に効果があります。Web サーバーをリフレッシュすることです (これは特に Apache のバッファを指すと考えてよいでしょうか)。
#apache module の
sapi の下で、 # を呼び出すことで
flush が呼び出されます。 ##sapi_module
の flush
メンバー関数ポインターは、間接的に apache
の api を呼び出します: ap_rflush
は apache
の出力を更新しますもちろん、マニュアルにもバッファがあります。そうは言っても、このアクションの結果を変更する可能性のある Apache の他のモジュールがいくつかあります。
ブラウザでも、受信したコンテンツを表示する前にキャッシュします。たとえば、Netscape ブラウザは改行または HTML タグの先頭を受け取るまでコンテンツをキャッシュし、 タグを受け取るまでテーブル全体を表示しません。
したがって、この 2 つを使用する正しい順序は次のとおりです。最初に ob_flush、次にフラッシュです。
Microsoft Internet Explorer の一部のバージョンは、256 バイトを受信した後にのみページの表示を開始するため、これらのブラウザがページのコンテンツを表示できるようにするには、追加のスペースを送信する必要があります。
もちろん、他の sapi では、flush を呼び出すことはできません。
この記事は、https://blog.csdn.net/qq_28602957/article/details/66973431PHP ビデオ チュートリアルから転載されています。
推奨:
以上がPHPのob_flushとflushの違いを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。