hello
侠客
侠客
  • UID3
  • 粉丝1
  • 关注1
  • 发帖数27
阅读:3368回复:0

详细解释PHP中header

楼主#
更多 发布于:2013-05-27 23:51
分享到:
void header ( string string [, bool replace [, int http_response_code]] )
header()是用来发送 HTTP Header的。replace是个可选的参数,指示是否替代一个先期相似的header,
或者增加第2个相同类型的header。默认的是替代,但是如果你传递FALSE参数给第2个参数(即replace),你
能强制使用多个相同类型的header。例如:

<?php
header(’WWW-Authenticate: Negotiate’);
header(’WWW-Authenticate: NTLM’, false);
?>
 

第二个可选的参数http_response_code强置HTTP响应代码的值。(PHP>4.3.0)
有两种特定的header调用。一种是header用字符串”HTTP/”开头的(大小写无所谓),它用
来指定发出的HTTP状态码。举个例子来说,如果你已经配置Apache使用PHP脚本来处理请求
不存在的文件(用ErrorDocument指令),你可能想确认你的脚本生成一个合适的状态码:

<?php
header(”HTTP/1.0 404 Not Found”);
?>
 

注意:HTTP状态行 总是最先发送给客户端的,不管你实际上在什么时候调用header()函数。
除非你的HTTP header已经发送出去了,否则,在任何时候,状态将会被header()函数用一个新的
状态行 覆盖。
在PHP 3中,只有PHP编译为Apache的模块是,并且用下面Staus Header才能取得同样的效果

<?php
header(”Status: 404 Not Found”);
?>
 

第二中特殊的情况就是”Location:”header。如果没有某些 3xx的状态码已经发出的话,它不仅
发出Location行,而且发出一个重定向的状态码(302)。

<?php
header(”Location: http://www.owe-love.com”);
exit;
?>
 

注意:HTTP/1.1要求一个绝对URI作为Location的参数:包括协议头,主机名和绝对路径,
但是某些客户端可以接受相对URI。你可用$_SERVER['HTTP_HOST'] $_SERVER['PHP_SELF']和
dirname()来从一个相对URI来产生绝对URI。

<?php
header(”Location: [url]http://
游客

返回顶部