header()函数是PHP中的内置函数,用于发送原始HTTP标头。 HTTP函数是那些在发送任何其他输出之前操纵由Web服务器发送到客户端或浏览器的信息的函数。 PHP header()函数以原始格式将HTTP标头发送到客户端或浏览器。在将HTML,XML,JSON或其他输出发送到浏览器或客户端之前,将原始数据与服务器发出的请求(尤其是HTTP请求)一起作为标头信息发送。 HTTP标头提供有关在消息正文中发送的对象的必需信息,更确切地说是有关请求和响应的信息。
用法:
void header( $header, $replace = TRUE, $http_response_code )
参数:此函数接受上述和以下所述的三个参数:
$header:此参数保存标题字符串。头调用有两种类型。第一个标头以字符串“HTTP/”开头,该字符串用于确定要发送的HTTP状态代码。标头的第二种情况是“Location:”。它是必填参数。
$replace:它是可选参数。它表示标题应替换先前的标题或添加第二个标题。默认值为True(将替换)。如果$replace值为False,则将强制使用多个相同类型的标头。
$http_response_code:它是一个可选参数。它将HTTP响应代码强制为指定值(PHP 4.3及更高版本)。
返回值:此函数不返回任何值。
范例1:
// PHP program to describes header function
// Redirect the browser
header("Location: http://www.geeksforgeeks.org");
// The below code does not get executed
// while redirecting
exit;
?>
输出:
This will change location of header, i.e. redirect to the URL
范例2:
// PHP program to describes header function
// Set a past date
header("Expires: Sun, 25 Jul 1997 06:02:34 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
?>
Hello World!
print_r(headers_list());
?>
输出:
Hello World!
Array (
[0] => X-Powered-By: PHP/7.0.33
[1] => Expires: Sun, 25 Jul 1997 06:02:34 GMT
[2] => Cache-Control: no-cache
[3] => Pragma: no-cache
)
上面的示例通过向not-cache发送覆盖浏览器设置的标头信息来帮助防止缓存。
注意:在示例中,多次使用header()函数是因为一次允许发送一个标头(自PHP 4.4起),以防止标头注入攻击。
用途:
更改页面位置
设定时区
设置缓存控制
发起力量下载
发送HTTP状态