📜  PHP | header()函数(1)

📅  最后修改于: 2023-12-03 15:18:23.700000             🧑  作者: Mango

PHP | header()函数

在PHP中,header()函数提供了一种在服务器发送HTTP头信息的有效方式,这些头信息通常用于重定向、缓存控制和浏览器缓存设置。

语法

header()函数的语法如下:

header(string $header, bool $replace = true, int $http_response_code = 0 ) : void
参数说明
  • $header:必需,指定要发送的HTTP头,可以包含多个头信息。
  • $replace: 可选,规定是否覆盖之前发送的任何相同类型的HTTP头,该参数默认值为true。
  • $http_response_code:可选,指定要发送的HTTP状态码。如果有多个header设置,则仅有最后一个设置所指定的状态码才会被发送,该参数默认值为0。
用法示例
重定向

header()函数中最常见的用途是重定向。

<?php
// 将浏览器重定向到另一个页面
header("Location: http://example.com/");
exit();
?>

在这里,我们指定了要重定向到的页面的URL,然后立即中止脚本执行。请注意,因为HTTP标准要求在发送Location头之后立即停止脚本执行,所以我们使用exit()函数来实现这一点。

缓存控制

使用header()函数可以在PHP脚本中控制浏览器缓存。

<?php
// 禁用缓存
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

在这里,我们告诉浏览器不缓存查看页面的内容。

定义内容类型

header()函数可以用于通知浏览器返回的内容类型。

<?php
// 指定返回的内容类型
header('Content-Type: application/json');
?>

在这个示例中,我们告诉浏览器将返回的内容类型设置为JSON。

发送HTTP状态码

使用header()函数,我们可以将HTTP状态码发送回浏览器。

<?php
// 发送未找到页面的HTTP 404响应
header("HTTP/1.1 404 Not Found");
?>

在这里,我们使用header()函数将404状态码发送回用户的浏览器。

注意事项
  • 在header()函数之前不能有任何输出,包括空白和换行。
  • 不要使用header()函数在输出缓冲区已经开始处理后发送任何内容,否则该函数将无法发挥作用。
  • 尽量避免在header()函数中使用多个header类型,除非您确定它们没有任何冲突。