PHP包括没有输出?

时间:2012-06-29 12:54:51

标签: php html include

好的,

继承人的事情。我有一个(付费)购物车,我目前正在使用jquery和css以及其他任何使其外观和工作比现在更好的过程。

反正。为了使用他们的数据库及其功能等,我需要在网页的开头包含他们的文件。我把它放在了

<div style="display:none;">

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

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

我知道这有点像一个小屋,我希望我已经解释过自己,如果有人可以提供帮助,请告诉我。

感谢。

2 个答案:

答案 0 :(得分:9)

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

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

请注意使用require代替include。这是因为我个人认为脚本在遇到包含错误时应该崩溃,而不是继续,好像什么都没有错。

答案 1 :(得分:1)

结帐ob_start()ob_end_clean()。它们允许您捕获输出并将其转储,以解决您的问题。您可能还想与您的供应商讨论如何创建一个非输出版本的软件,这应该是它应该做的事情(我知道在合唱中讲道)。

到目前为止,我从未真正知道使用ob-end-clean的正当理由。 : - )