PHP 包含不带输出


PHP include without output?

好吧,

事情是这样的。 我有一个(付费的)购物车,我目前正在用jquery和css以及其他任何东西来使它看起来和工作得比现在更好。

无论如何。 为了使用他们的数据库和他们的功能等,我需要在网页的开头包含他们的文件。 我已经把它放在一个

<div style="display:none;">

但是,当然,任何输出仍然会写入浏览器。 它不是很多,但我宁愿没有div 和没有输出,但我仍然希望它执行它的计算。 它的 5000 行 PHP 文件和它太复杂了,无法通过和编辑我不想要的部分。

有没有一种聪明的方法,我可以包含文件,但指定在包含文件时是否要写入页面?

我知道这有点笨拙,我希望我已经解释了自己,如果有人可以提供帮助,请告诉我。

谢谢。

您可以使用输出缓冲将输出捕获到变量中,而不是将其发送到浏览器:

ob_start();
require(...);
$data = ob_get_clean();

请注意使用 require 而不是 include 。那是因为我个人认为脚本在遇到包含错误时应该崩溃,而不是像没有问题一样继续。

签出 ob_start() 和 ob_end_clean()。 它们允许您捕获输出并转储它,这应该可以解决您的问题。 您可能还想与您的供应商讨论创建其软件的非输出版本,这确实是它应该做的(我知道向合唱团说教)。

直到现在,我才真正知道使用ob-end-clean的正当理由。 :-)