2

好的,

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

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

<div style="display:none;">

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

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

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

谢谢。

4

2 回答 2

9

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

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

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

于 2012-06-29T12:57:34.343 回答
1

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

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

于 2012-06-29T13:00:45.947 回答