Php output buffering缓存及程序缓存
在
若
下面测试
在测试前为了测试效果更明显,我们在
Output_buffering=off
Display_errors=on
代码
"php" ("content-type:text/html;charset='utf-8'" 'ok';
则会出现
php
Warning: Cannot modify header information - headers already sent by (output started at D:\www\apache\htdocs\test\t2.php:2) in D:\www\apache\htdocs\test\t2.php on line 3
ok
代码2:
"php" ("content-type:text/html;charset='utf-8'" 'ok';
结果就完全正确了
原因分析:
代码Phpecho ‘php’时已经向浏览器发送一个头信息,
当再出现
header("content-type:text/html;charset='utf-8'");
又看到一个头信息,这时已经打回了上面的头信息,无法更该便出错了。
代码‘php’时把要打给浏览器的数据先放到
为加深理解再看以下代码
代码
"php"("content-type:text/html;charset='utf-8'" 'ok' '<hr/>'= ;
会输出
Ob_get_contents()
Ob_get_contents()
代码
"php" ();
("content-type:text/html;charset='utf-8'" 'ok' '<hr/>' = ;
结果:
代码
"php"();
("content-type:text/html;charset='utf-8'" 'ok' '<hr/>'= ;
结果:
代码
"php"();
("content-type:text/html;charset='utf-8'" 'ok' '<hr/>'= ;
代码
"php"();
("content-type:text/html;charset='utf-8'" 'ok' '<hr/>'= ;
结果:
Ob_clean()
清空
Ob_get_flush()
冲刷出缓存到程序缓存,关闭
代码
'abc'("content-type:text/html;charset='utf-8'" 'hello' 'aa'
2.ob_flush(),flush()
代码
'a'();
代码
'a'();
"<br/>ob_con".
代码
(" ",1024);
(=0;<5;++ "<br/>"(1
会一秒输出一个数字
如果没有
PHP之友评论