PHP中的header()函数用法及作用。
在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请求和响应。
