ob_start() 似乎没有停止任何输出,所以当我刷新缓冲区时它会加倍
<?php
ob_start();
echo "Text..... <br />";
echo ob_get_flush();
?>
输出
Text.....
Text.....
但我期待
Text.....
有任何想法吗 ?
谢谢
ob_start() 似乎没有停止任何输出,所以当我刷新缓冲区时它会加倍
<?php
ob_start();
echo "Text..... <br />";
echo ob_get_flush();
?>
输出
Text.....
Text.....
但我期待
Text.....
有任何想法吗 ?
谢谢
删除最后一行的回声。
ob_get_flush()
隐式打印存储的输出并返回它,因此您将其打印两次。
你可能已经混淆ob_get_flush()
了ob_get_clean()
尝试:
<?php
ob_start();
echo "Text..... <br />";
ob_get_flush();
?>
来自http://php.net/manual/en/function.ob-get-flush.php
刷新输出缓冲区,将其作为字符串返回并关闭输出缓冲
刷新输出意味着:它将输出发送到浏览器或命令行。返回字符串意味着:它返回字符串,因此您可以将刷新的字符串存储在变量中。并且由于您正在echo
输入此字符串,因此您会第二次获得输出。