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