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

了解PHP的header函数:如何设置HTTP响应头部信息

发布时间:2023-06-16 16:44:52

在PHP中,header函数用于设置HTTP响应头部信息。HTTP头部信息是一些元数据,它们包含了关于传输的数据的信息,如数据格式,字符集等。在Web开发中,经常需要设置HTTP头部信息来控制客户端的缓存、跳转、下载等行为。

header函数的语法如下:

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

其中,$header参数表示要设置的HTTP头部信息,$replace参数表示是否覆盖相同名称已经设置的头部信息,$http_response_code表示要设置的HTTP响应码(如200表示成功,404表示资源找不到等)。

下面是一些常用的HTTP响应头部信息的设置方法:

设置Content-Type:

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

设置跳转:

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

设置下载文件:

header('Content-Disposition: attachment; filename="example.pdf"');
header('Content-Type: application/octet-stream');
header('Content-Length: ' . filesize($file));
readfile($file);

设置禁止缓存:

header('Cache-Control: no-cache, no-store, must-revalidate');
header('Expires: Thu, 01 Jan 1970 00:00:00 GMT');
header('Pragma: no-cache');

PHP提供了很多内置的常数可以方便我们设置HTTP头部信息,例如:

设置HTTP响应码:

http_response_code(404);

设置Content-Type:

header('Content-Type: ' . mime_content_type($file));

PHP的header函数可以很方便地设置HTTP响应头部信息,但需要注意的是,在输出内容之前必须调用header函数,否则可能会出现错误。另外,如果需要设置多个HTTP头部信息,应该先禁用输出缓存,以免出现不必要的问题。