Cannot modify header information headers already sent by 疑惑

  PHP新手学PHP,小白一枚,以前做C,对于网络的高级协议蒙了再蒙,最近碰到heaer函数头晕脑胀,一句话这么也没弄明白:在header函数调用之前不能有任何输出。网上查过N多资料,都写的很详细,结果就是看不明白。今天总算是明白了什么交页面不能有任何输出...

1 
2 <?php 3 header("Location: http://www.baidu.com"); 4 ?>

  这段代码放入*.php,*.html文件中都会报错,告诉我说  "Warning: Cannot modify header information - headers already sent by (output started at D:\webRoot\test.html:2) in D:\webRoot\test.html on line 3",意思是说输出从test.html的第二行开始输出了,虽然没搞懂这句话的具体含义,但也找到了解决办法,代码的第一行是空白行,我的理解是在正式进入php代码时难道已经将空白行输出过了,然后不能违背了不能有任何输出的原则?具体原因不知道,但只要去掉第一行就可以。

原文地址:https://www.cnblogs.com/Jqxing/p/3014101.html