标签:
<?php /* header('Location : http://segmentfault.com/');这个方法,是在响应头里面,发一个302重定向。而响应头当然要比响应主体要提前输出。 */ echo "<html></html>"; header('location:http://www.baidu.com'); /*但是运行以上发现成功跳转名,是因为这种并不符合HTTP规范的HTTP头,很可能整个HTTP Response都无法解析。 幸运的是,PHP貌似为你修复了这个HTTP头格式问题。 关于HTTP头先发的问题,的确不应该在HTTP内容输出之后输出HTTP头。但是服务器会缓存输出,虽然你使用了echo或者print,但在那个时刻服务器还没有将这些内容作为HTTP报文输出,这个时候你仍然有机会修改HTTP头。 如果你只是单纯想要引发一个错误的话,参考例2 */ //例2 echo "<html></html>"; ob_flush();#输出缓冲区中的内容 flush();#刷新缓冲区,函数不会对服务器或客户端浏览器的缓存模式产生影响。因此,必须同时使用 ob_flush() 和 flush() 函数来刷新输出缓冲 // We'll be outputting a PDF header('location:http://www.baidu.com'); ?>
标签:
原文地址:http://blog.csdn.net/river131/article/details/45038151