我知道那些与输出缓冲有关的方法:
<?php
ob_start();
// some code
ob_end_flush();
ob_end_clean();
但我无法弄清楚为什么我需要输出缓冲区的长度。这里有一个问题是关于测量用户带宽的SOF,尽管该计算需要测量图片和其他未解决的文件。
我确实检查了PHP手册,并没有“为什么”。
答案 0 :(得分:1)
回答“为什么要使用它”。为了回答这个问题,我们必须先了解为什么需要使用ob_start
。
通常它用于两个目的:
echo
,例如header
之前},后者不起作用)echo
或print
编写,并且通常只输出小数据,因此您将一小部分数据发送回浏览器,这会影响性能。)所以现在你可以开始猜测,为什么我们需要使用ob_get_length()
。例如:我想通过大块发送我的输出,所以我启用输出缓冲并在ob_get_length
的帮助下,我可以控制在发送之前可以写入多少数据缓冲区。
答案 1 :(得分:0)
ob_get_length
将返回输出缓冲区中内容的长度..
这是一个简单的例子..
<?php
ob_start();
echo "Hello ";
$len1 = ob_get_length();
echo "World";
$len2 = ob_get_length();
ob_end_clean();
echo $len1 . ", ." . $len2;
?>
以上示例将输出:6, 11
<强>更新强> 如果要发送自定义HTTP Content-Length标头,ob_get_length()会很有用 - 尽管这仅适用于高级用户!