2014-02-25 46 views
2

我正在尝试设置这样的PHP头:PHP标题不工作没有刷新?

<?php 
    header("Content-Length: 1234"); 
?> 

但是,如果我在Chrome中打开头与F12,该content-length为0。只有当我打电话flush()header()方法后,将Chrome浏览器告诉我正确的长度。为什么这是一个体面的解决方案?

+0

检查是否有输出缓冲 –

+2

@JohnConde:输出缓冲区在脚本执行结束时是否被清空? – AbraCadaver

+2

我期望它是。但我也不希望你需要调用'flush()',所以你永远不会知道...... –

回答

0

标题要求你在浏览器没有被指定的机会之前,什么也没有发送给浏览器。如果指定一个标题会导致信息发送到浏览器,那么只能发送一个标题元素。这不符合它的设计。

所以是的,你将不得不自己给命令发送你的头到浏览器。 出于测试目的,我认为这是一个体面的解决方案。对于真实生活的网站?编号:-)