header():PHP中的header()函数使用方法
在PHP中,header()函数用于发送HTTP头部信息。这些头部信息包括响应代码、响应类型、缓存控制、重定向等。
header()函数必须在页面的任何输出之前调用,包括空格、换行符等。否则会导致错误。
语法:
bool header ( string $header [, bool $replace = true [, int $http_response_code ]] )
参数说明:
- $header:要发送的HTTP头部信息,格式为"头部名称: 头部值"。
- $replace:指定是否替换已经设置的相同类型的头部信息。默认值为true,表示替换;设为false则表示不替换,将发送多个同类型的头部信息。
- $http_response_code:可选参数,设置HTTP响应代码。常用的有200(成功)、404(页面未找到)等。
使用示例:
1. 设置响应类型为html:
header("Content-type: text/html");
2. 设置响应代码为404:
header("HTTP/1.0 404 Not Found");
3. 设置缓存控制:
header("Cache-Control: no-cache, no-store, must-revalidate");
4. 重定向到其他页面:
header("Location: http://www.example.com");
需要注意的是:
- 只有使用header()函数设置的HTTP头部信息,才能生效。在HTML标签中通过meta标签设置的头部信息不会生效。
- header()函数一旦发送完头部信息后,就不能再发送其他的HTTP头部信息。如果需要发送多个头部信息,可以使用$replace参数来控制是否替换。
- 如果在header()函数前已经有输出,比如echo、print等,那么header()函数将无效。解决办法是在调用header()函数之前通过ob_start()函数开启缓冲区,然后通过ob_end_flush()函数来输出缓冲区内容。
总结:
header()函数是PHP中常用的用于发送HTTP头部信息的函数。通过设置不同的头部信息,可以控制页面的响应类型、缓存、重定向等。在使用header()函数时,需要注意调用的位置以及参数的使用,避免出现错误。
