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

PHP中的header函数详解及应用示例

发布时间:2023-06-09 14:14:27

header函数是PHP中用于发送HTTP头信息的函数,常用于设置响应的Content-Type、Cache-Control、Location等头信息,也可用于设置HTTP状态码。

语法:

header ( string $string [, bool $replace = true [, int $http_response_code ]] ) : void

参数说明:

string:必需。规定要发送的Header字符串。

replace:可选。指定是否用新的Header替换之前的Header,默认为true。

http_response_code:可选。为响应设置http状态码。

应用示例:

一、设置Content-Type

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

在使用PHP输出HTML内容时,为了防止出现乱码,需要设置Content-Type的编码格式,这样浏览器才能正确识别网页编码。以上示例中,Charset=utf-8表示采用UTF-8编码格式。

二、设置Cache-Control

header("Cache-Control: no-cache, must-revalidate");

Cache-Control是浏览器用于缓存控制的一个头信息,no-cache指示浏览器不使用缓存,而是每次都服务器重新请求数据。

三、设置Location重定向

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

使用Location头信息可以实现网页重定向,以上示例中将页面导向到了www.example.com。

四、设置HTTP状态码

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

通过设置HTTP状态码,可以让服务器向客户端回应不同的状态信息,大致分为以下几类:

1xx:表示接受到请求并且继续处理。

2xx:表示请求已经成功接收和处理。

3xx:表示需要进一步操作以完成请求,例如重定向。

4xx:表示客户端请求的语法错误或请求无法实现。

5xx:表示服务端出现错误,无法完成请求。

以上示例中返回了404 Not Found,表示找不到请求的资源。

五、设置文件下载

header("Content-type:application/octet-stream");

header("Content-Disposition: attachment;filename=example.zip");

readfile("example.zip");

以上示例中,将Content-Type设置为application/octet-stream,表示是二进制文件,Content-Disposition设置为attachment,表示将文件下载到本地,通过readfile函数输出文件内容。

总之,header函数在网络编程中非常常见,可以灵活控制HTTP头信息,达到一些定制化、复杂化的需求。需要注意的是,调用header函数要在输出内容之前,否则会出现“报错提示无法修改header”。