这个要从 http 协议说起:
HTTP 数据包含2大部分:
-
http 头部
-
http body 内容
<html>
<head>
<meta xxx />
<title></title>
</head>
<body>
<h1>HI Mary.</h1>
</body>
</html>
请不要将 HTTP 协议和 html 混在一起了。
我们平时看到的 html 标签, 如:
这些都是放在 http body 当中的数据。
然而,当我们使用 PHP 当中的 header 函数的时候,其实是想改变 http 头部的内容。
因此你可以知道,我们不可能在输出了内容之后还去修改头部的内容,这是不允许的。
所以,header 之前不允许出现输出。