抑制PHP包含文件的回显

时间:2012-02-02 19:29:17

标签: php

我有一个文件PHP01.php,其中: - 执行功能 - 创建一个数组 - echo的一些消息

我需要将这个文件包含在另一个php脚本中,比如PHP02.php,因为我需要访问它创建的数组。但是,当我向PHP02.php发送POST请求时,它返回的数据也包含来自echo的{​​{1}}

如何抑制第一个文件的回声?

4 个答案:

答案 0 :(得分:11)

如果无法进行编辑或重组,您可以输出缓冲区:

ob_start();

include "PHP02.php";

ob_end_clean();

答案 1 :(得分:0)

创建一个没有echo

的新函数

答案 2 :(得分:0)

如果可以,您应该考虑重构原始PHP文件中的代码。如果它正在执行一个功能,它应该这样做。然后,调用该函数的代码应该决定是否要回显消息。

正如您刚刚了解到的,这是正交设计的重要组成部分。我建议重新编写它以便它执行你想要的,并让调用函数的代码决定他们想要输出什么。这样你就不必再担心这些事了。

您还可以查看使用输出缓冲区。请参阅PHP中的ob_flushhttp://php.net/manual/en/function.ob-flush.php

答案 3 :(得分:0)

尝试添加一个条件PHP01.php来检查它的调用位置,这样可确保只有在调用的文件为PHP01.php

时才会回显它

此外,如果您将功能放在他们自己的文件中(如果需要),以便保留某些功能,例如在PHP01.php中,您可以添加include 'function01.php';,这样会更好将在两个文件中共享该功能。