PHP header() 函数
PHP header() 函数向客户端发送原始的 HTTP 报头
函数原型
header(string,replace,http_response_code)
记住,必须在任何实际的输出被发送之前调用 header() 函数
也可以使用输出缓冲来解决这个问题
像下面这样的代码会报错
<!DOCTYPE html> <?php header('Location: https://www.twle.cn/'); ?>
PHP 4.4 之后,该函数添加了防止一次发送多个报头的机制,这是对头部注入攻击的保护措施
参数
参数 | 描述 |
---|---|
string | 必需。规定要发送的报头字符串 |
replace | 可选。指示该报头是否替换之前的报头或添加第二个报头 默认是 TRUE(替换) FALSE(允许相同类型的多个报头) |
http_response_code | 可选。同时发送 HTTP 响应码 |
范例
下面的代码用于禁用页面缓存
<?php header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache"); header("Pragma: no-cache"); ?> <!DOCTYPE html> <meta charset="utf-8"/> <title>简单教程,简单编程</title>
用户可能会设置一些选项来更改浏览器的默认缓存设置 通过发送上面的报头,我们可以覆盖任何这些设置,强制浏览器不进行缓存
范例 2
提示用户保存一个生成的 PDF 文件( Content-Disposition
报头用于提供一个推荐的文件名,并强制浏览器显示保存对话框)
<?php header("Content-type:application/pdf"); header("Content-Disposition:attachment;filename='your.pdf'"); readfile("original.pdf");