PHP标头已经发送

时间:2010-09-27 04:51:34

标签: php header

  

可能重复:
  Headers already sent by PHP

收到以下错误:

"Warning: Cannot modify header information - headers already sent by (output started at..."

以下一行:

echo '<center>Current Time is '. gmdate("H:i A") . ' GMT (Greenwich Mean Time or UTC)<br />';

如果我将其注释掉,它会在下一个echo语句中抛出错误。关于为什么PHP如此讨厌我的echo语句的想法?

以下是我在HTML底部的内容:

<div id="saveCanForm" width="100%">
<?php include('savereport.php'); ?>
</div>

4 个答案:

答案 0 :(得分:10)

问题不在于echo语句。看起来你在文件后面的某个地方有一个header调用,但是一旦输出任何文本就无法发送标题。您可以将标题移动到脚本的开头,也可以使用输出缓冲。

答案 1 :(得分:0)

因为我们的echo 之前您正在发送不允许的标头。确保标题在您的任何输出之前。

如果您不想重新排列,也可以使用输出缓冲。

答案 2 :(得分:0)

在有任何其他输出之前处理标题,所以如果你写出一些东西,那么PHP之后就无法正确发送标题。在您的代码中的某个时刻,您将提供HEAD指令,因此会失败。 (这有技术原因,比如重定向等)

答案 3 :(得分:0)

这不是问题的回声。这很可能是由.php文件中包含的文件引起的。你有一个文件吗?这可能是最重要的。如果你包含的文件声明不在文件的顶部,请确保它是。