他们似乎都做了同样的事情:将输出缓冲区内容返回给你并在之后删除它。
我应该使用哪一个?
答案 0 :(得分:99)
ob_get_clean()
删除缓冲区(不打印),并返回其内容。
ob_get_flush()
打印缓冲区,删除缓冲区并返回其内容。
答案 1 :(得分:19)
ob_get_clean
将只返回缓冲区的内容并将其分配给您想要的任何变量,但它不会输出任何内容。
ob_get_flush
执行ob_get_clean
所做的一切,但也会输出内容。
答案 2 :(得分:9)
两个函数都清除输出缓冲区,关闭输出缓冲区,并返回前一个缓冲区值。
但是,ob_get_flush
首先将当前缓冲区发送到客户端,而ob_get_clean
只是丢弃它。
答案 3 :(得分:-8)
直接尝试回答您的问题:
如果您希望在刷新缓冲区后再次开始输出缓冲 ,则使用ob_get_clean作为输出缓冲仍然准备好,而不必将其重新打开。 (请记住,只有在没有文本,甚至是空格回显到浏览器的情况下才能使用此功能)。 因此,对于更一般的用途,我的所有编程书籍都倾向于ob_get_flush(每个大多数脚本只有一个缓冲区)