php 缓冲问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 06:54:59
ob_start() 很多文档是这样的解释,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区 但是
<?php
ob_start();
echo 'ddd';
?>
这段程序输出‘ddd’ 不知道该怎么理解 我本觉得不会有任何输出
我理解的是这段输出被保存在内部缓冲区中,只有当用到flush()或ob_end_flush()的时候输出被缓冲的内容,没用这两个函数就什么都不输出。
想来我这个就是错误理解 向大家讨教了 请纠正
诺明了再追加分

当程序执行完了,就要输出的。
ob_start(); 的作用只是不让程序边执行边输出,而是保存到缓冲区当用到flush()或ob_end_flush()的时候输出。
而当程序执行完了之后,所有的缓冲都会被输出。所以,即便是你没调用那两个函数,也要输出。
注意一个概念:“边执行边输出”!
PHP缺省情况下是边执行边输出的,也就是说程序执行到有echo、print之类的语句的地方,就输出了。

拜托, 当脚本结束时当然会输出了......