ホームページ >バックエンド開発 >PHPチュートリアル >PHP出力バッファリングキャッシュとプログラムキャッシュ_PHPチュートリアル
の
もし
以下のテスト
テスト前にテストの効果をより明確にするために、私たちは
Output_buffering=off
Display_errors=on
コード
リーリー
が登場します
php
警告: ヘッダー情報は変更できません - ヘッダーは、D:wwwapachehtdocstestt2.php の 3 行目で既に送信されました (出力は D:wwwapachehtdocstestt2.php:2 で開始されました)
ok
コード 2:
リーリー結果は完全に正しいです
原因分析:
コードPhp「php」をエコーすると、ヘッダーメッセージがブラウザに送信されました
また現れたら
header("content-type:text/html;charset='utf-8'");
この時点で、上記のヘッダー情報を再度入力したのですが、変更できず、エラーが発生しました。
Code'php'、ブラウザに送信するデータを最初に置きます
理解を深めるために次のコードを見てください
コード
リーリー
出力します
Ob_get_contents()
Ob_get_contents()
コード
リーリー結果:
コード
リーリー結果:
コード
リーリー
コード
リーリー
結果:
Ob_clean()
クリア
Ob_get_flush()
キャッシュをプログラムキャッシュにフラッシュし、閉じます
コード
リーリー
2.ob_flush(),flush()
コード
リーリー
コード
<strong><span ob_start</span><span (); </span><span echo</span> 'a'<span ; </span><span ob_flush</span>();<span //</span><span 把Ob缓存冲刷到程序缓存,ob里没有了缓存内容</span> <span echo</span> "<br/>ob_con".<span ob_get_contents</span><span (); </span><span //</span><span a 是按正常输出的,Ob里没内容</span></strong>
代码
<strong><span echo</span> <span str_repeat</span>(" ",1024);<span //</span><span 一些版本的 Microsoft Internet Explorer 只有当接受到的256个字节以后才开始显示该页面,所以必须发送一些额外的空格来让这些浏览器显示页面内容。 </span> <span for</span>(<span $i</span>=0;<span $i</span><5;<span $i</span>++<span ){ </span><span echo</span> <span $i</span><span ; </span><span echo</span> "<br/>"<span ; </span><span sleep</span>(1<span ); </span><span flush</span><span (); }</span></strong>
会一秒输出一个数字
如果没有