我在
手册上说:
但我可以在输出已经发送后的html脚本或php代码的任何位置调用
怎么会这样?设置有问题吗?
header()
函数上遇到了一些问题,它有时能正常工作,有时却不能。手册上说:
否则会出现错误。请记住,在任何实际输出之前,必须调用header(),无论是通过普通HTML标签、文件中的空行还是PHP发送的。
但我可以在输出已经发送后的html脚本或php代码的任何位置调用
header()
,并且header()
可以工作:<?php
echo "Output here";
header("Location: http://stackoverflow.com"); // it works, it redirects to the site
echo "And output here";
?>
任何header()
都可以使用。这个header("Some-Header: bar-foo")
可以设置头信息:
<!DOCTYPE html>
<html>
<body>
… some script here…
<?php
print_r(headers_list()); // only one header: [0] => X-Powered-By: PHP/5.3.5
header("Some-Header: bar-foo")
print_r(headers_list()); // two headers: [0] => X-Powered-By: PHP/5.3.5
[2] => Some-Header: bar-foo
var_dump(headers_sent($file, $line)); // bool(false)
var_dump($file); // string(0) ""
var_dump($line); // int(0)
?>
… some script here…
</body>
</html>
怎么会这样?设置有问题吗?