可能重复:
PHP error: Cannot modify header information – headers already sent
您好我得到此错误,即使您使用完全相同的文件用于其他项目,它工作正常。这个项目是在FB新API实施之后设定的,9月底之后的所有变化确实可能是个问题吗?
我的文件:
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'."\n"; ?>
<users xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Thu, 1 Jan 1970 00:00:00 GMT");
include_once 'config.php';
$con = mysql_connect($db_ip,$db_user,$db_pass);
.
.
.
.
while ($row = mysql_fetch_assoc($result)) {
?>
<id>
<image>http://mywebsite/root/xxx-game-fb/proxy.php?url=<?php echo urlencode("http://graph.facebook.com/".$row['fbid']."/picture?type=square"); ?></image>
<place><?php echo $position; ?></place>
<name><?php echo $row['name']; ?></name>
<score><?php echo $row['score']; ?></score>
</id>
<?php
$position++;
}
?>
</users>
我用它作为flash AS3游戏的输入。它创建一个包含用户的表并按顺序设置它们。 Flash在引发此xml文件的函数中也会引发错误。 有人知道这里有什么问题吗? 请帮忙。
答案 0 :(得分:5)
没有阅读有关header
的文档,在调用该方法之前无法输出任何信息,是吗?
请记住,在发送任何实际输出之前,必须通过普通HTML标记,文件中的空行或PHP来调用header()
首先使用标头,或者如果无法避免则使用某种形式的输出缓冲。
您文件的前5行应该成为:
<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Thu, 1 Jan 1970 00:00:00 GMT");
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
?>
<users xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
请注意,现在在回显/输出任何内容之前调用header()
。