以下是示例代码:
ob_start();
include("test.ini");
$string = ob_get_contents();
echo "<br/>";
echo "string: ".$string;
和输出:
testing = ini
string: testing = ini
当我添加
ob_end_clean();
在上面代码的末尾,屏幕上没有输出。
我至少期待字符串在屏幕上回显?为什么没见过?
答案 0 :(得分:1)
ob_start(); 启动输出缓冲到内部缓冲区而不是(屏幕),然后添加ob_get_contents();它复制内部缓冲区的输出仍然没有打印,并且当ob_end_clean();解释后,它将清除所有内部缓冲存储器,没有任何输出屏幕。
从ob_start()开始;到ob_end_clean();什么都不打印,我在包含文件时使用这种方法,以防止在发送标题之前打印一些空格。
答案 1 :(得分:1)
查看ob_get_clean(),ob_end_flush()和ob_end_clean()之间的区别。
ob_get_clean
获取当前缓冲区内容并丢弃当前输出缓冲区。
ob_end_flush
会丢弃内容,但会先输出缓冲区。
ob_end_clean
丢弃最顶层输出缓冲区的内容。它什么都不会返回。
答案 2 :(得分:1)
我认为你正在寻找ob_get_clean()函数。