欢迎访问宙启技术站
智能推送

PHP中的header()函数用法及作用。

发布时间:2023-07-03 19:52:06

在PHP中,header()函数用于发送原始的HTTP头部。它可以用于控制浏览器缓存、重定向用户、设置Cookie等功能。

header()函数的语法为:

header(string $header, bool $replace = true, int $statusCode = null)

参数说明:

- $header:要发送的HTTP头部信息,格式为"header-key: header-value"。

- $replace(可选):指示是否替换之前发送的相同类型的头部,默认为true,即替换。

- $statusCode(可选):设置HTTP状态码。若指定,则会自动在头部信息中附带状态码的描述,例如"HTTP/1.1 200 OK"。

下面是header()函数常见的应用场景及用法:

1. 设置网页字符编码:

header('Content-Type: text/html; charset=utf-8');

这样可以确保网页正确显示中文等特殊字符。

2. 控制浏览器缓存:

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");

这样可以禁止浏览器缓存网页内容,确保用户每次访问的是最新的页面。

3. 重定向用户:

header("Location: http://www.example.com");

这样可以将用户重定向到另一个URL,实现页面跳转。

4. 设置Cookie:

header("Set-Cookie: name=value; expires=Fri, 31 Dec 2021 23:59:59 GMT; path=/");

这样可以在用户的浏览器中设置一个Cookie,用于存储一些临时数据或用户信息。

5. 设置HTTP状态码:

header("HTTP/1.1 404 Not Found");

这样可以指定返回给浏览器的HTTP状态码,用于标识网页或资源是否存在或访问出错。

需要注意的是,header()函数必须在输出任何实际内容之前调用,包括HTML代码、空格、换行等。

此外,为了避免由于header()函数重复发送同一类型的头部而导致报错,需要在调用header()函数之前先调用ob_start()函数开启输出缓冲(即输出内容暂时不发送到浏览器),在发送完所有的header信息后再使用ob_end_flush()函数将缓冲区内容发送到浏览器。

总结:header()函数在PHP中的作用非常广泛,可以用于控制浏览器缓存、重定向用户、设置Cookie等功能。熟练掌握header()函数的使用,有助于更好地控制HTTP请求和响应。