1. PHP中的header函数是什么
在PHP中,header函数是用于发送HTTP头信息的函数。HTTP头信息在浏览器和服务器之间进行传递,通常包含响应状态码、MIME类型、重定向等信息。通过使用header函数,可以在服务器端动态地控制HTTP头的发送,从而实现各种功能,如设置页面重定向、设置缓存、控制文件下载等。
2. header函数的基本语法
header函数的基本语法如下:
```php
header(string $header, bool $replace = true, int $http_response_code = null): void
```
参数说明:
● $header: 必需,要发送的头信息,字符串形式,包含了一个或多个头信息。
● $replace: 可选,指定是否替换之前发送的相同类型的头信息,默认为true,即将之前的相同类型的头信息替换。
● $http_response_code: 可选,HTTP响应状态码。
2.1 设置页面重定向
使用header函数可以轻松地实现页面重定向功能。通过设置Location头信息,将浏览器重定向到指定的页面。
header('Location: http://www.example.com/');
exit;
以上代码将浏览器重定向到http://www.example.com/页面。需要特别注意的是,header函数必须在任何其他输出之前调用,否则会导致“Cannot modify header information”的错误。
2.2 设置缓存
在HTTP头信息中设置缓存控制是一种常见的优化网页加载速度的方法。可以通过设置Cache-Control和Expires头信息来控制浏览器对页面内容的缓存行为。
header('Cache-Control: max-age=3600'); // 缓存有效期为1小时
header('Expires: ' . gmdate("D, d M Y H:i:s", time() + 3600) . ' GMT');
以上代码将告诉浏览器对页面内容进行缓存,并设置缓存有效期为1小时。
3. header函数的其他应用
3.1 控制文件下载
通过设置Content-Disposition头信息,可以实现强制浏览器下载文件的功能。
header('Content-Disposition: attachment; filename="example.pdf"');
header('Content-Type: application/pdf');
readfile('files/example.pdf');
以上代码将告诉浏览器强制下载example.pdf文件,并将其保存为指定的文件名。
3.2 设置响应状态码
可以使用header函数设置HTTP响应状态码,用于指示服务器的处理结果。
header("HTTP/1.1 404 Not Found");
以上代码将返回一个404状态码,表示请求的资源未找到。
4. 总结
通过本文的介绍,我们了解了PHP中header函数的基本用法以及常见应用场景。使用header函数可以动态地控制HTTP头信息,实现页面重定向、设置缓存、控制文件下载等功能。在使用header函数时,需要确保在任何其他输出之前调用,并且遵循HTTP头信息的正确格式。希望本文能对你理解和使用header函数有所帮助。