即使我有输出也可以发送标题

时间:2011-05-31 19:12:18

标签: php

以下不应该给出错误消息吗?它将我发送到domain.com/asdad/,而不是给我一条错误消息。

<?php
echo 'asdadasdasd';
if ($_SERVER['REQUEST_URI'] == '/newtest.php') {
    header("Location: /asdad/");
    exit;
}
?>

我直接查看此内容,在此之前或之后没有其他文件或代码。不应该header给我一个错误,不要把我发送到新页面,因为我在header之前输出了

2 个答案:

答案 0 :(得分:2)

与大多数IO一样,PHP输出通常被放入临时缓冲区,直到达到临界量(或用户调用flush),此时内容将刷新到浏览器。如果您在刷新输出缓冲区之前设法发送header,则可以使用它。

然而,这不是你所依赖的东西,因为缓冲区大小(或者实际上是缓冲)可能因安装而异。

答案 1 :(得分:2)

检查phpinfo(),您可能已启用output_buffering