PHP函数之header():重定向网页或者发送HTTP头信息
header()是PHP中一个非常重要的函数,它可以发送HTTP头信息和重定向网页。在本文中,我将介绍header()的用法和一些注意事项。
1. 发送HTTP头信息
在PHP中,当我们想修改或添加HTTP头信息时,header()函数是 的选择。以下是header()函数在发送HTTP头信息时可能使用的一些参数:
- Content-Type:告诉浏览器如何解析内容的MIME类型
- Cache-Control:告诉浏览器如何缓存内容
- Expires:指示浏览器什么时候应该过期内容
例如,如果要告诉浏览器返回的内容是JSON格式的数据,可以使用以下语句:
header('Content-Type: application/json');
如果希望浏览器不缓存返回的内容,可以使用以下语句:
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Expires: 0');
2. 重定向网页
重定向是将用户从一个网页重定向到另一个网页的过程。在PHP中,我们可以使用header()函数来实现重定向。
以下是如何使用header()函数来重定向到另一个网页的代码:
header('Location: http://www.example.com');
exit;
请注意,重定向之前不能输出任何内容,否则会出现“header already sent”错误。这就是为什么在上面的代码中使用exit()函数的原因。exit()函数用于立即退出当前脚本。
如果你想发送自定义HTTP代码和状态码,可以使用以下语句:
header('HTTP/1.1 404 Not Found');
exit;
这将向客户端发送一个404的HTTP状态码,并且立即退出当前脚本。
3. 常见问题
下面是一些使用header()函数时容易出现的问题:
- header already sent:如果在header()函数之前输出了HTML或其他内容,就会出现这个错误。确保在header()函数之前没有任何输出。
- URL编码:在将URL作为参数传递给header()函数时,请记得对URL进行编码,否则可能会导致浏览器无法正确重定向。
- 多个header()调用:header()函数必须在输出之前调用,如果使用多个header()函数,则必须在每个调用之前使用ob_start()函数或者有其他方式来禁止输出。
总之,header()函数是PHP中非常重要的一个函数,可以用于发送HTTP头信息和重定向网页。了解其用法和注意事项,将有助于编写更高质量的PHP代码。
