好的,
继承人的事情。我有一个(付费)购物车,我目前正在使用jquery和css以及其他任何使其外观和工作比现在更好的过程。
反正。为了使用他们的数据库及其功能等,我需要在网页的开头包含他们的文件。我把它放在了
中<div style="display:none;">
但当然任何输出仍然写入浏览器。它不是很多,但我宁愿没有div和NO输出,但我仍然希望它执行它的计算。它的5000行PHP文件和它太复杂,无法通过编辑我不想要的位。
是否有一种聪明的方法,我可以包含该文件,但指定在包含该文件时是否需要写入页面的任何内容?
我知道这有点像一个小屋,我希望我已经解释过自己,如果有人可以提供帮助,请告诉我。
感谢。
答案 0 :(得分:9)
您可以使用output buffering将输出捕获到变量中,而不是将其发送到浏览器:
ob_start();
require(...);
$data = ob_get_clean();
请注意使用require
代替include
。这是因为我个人认为脚本在遇到包含错误时应该崩溃,而不是继续,好像什么都没有错。
答案 1 :(得分:1)
结帐ob_start()和ob_end_clean()。它们允许您捕获输出并将其转储,以解决您的问题。您可能还想与您的供应商讨论如何创建一个非输出版本的软件,这应该是它应该做的事情(我知道在合唱中讲道)。
到目前为止,我从未真正知道使用ob-end-clean
的正当理由。 : - )