PHP header() 函数

定义和用法

header() 函数用于向客户端发送原始的 HTTP 标头。

重要的是要注意,header() 函数必须在任何实际输出之前被调用!

实例

例子 1

发送三个 HTTP 标头以防止页面缓存:

<?php
// 过去的日期
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
?>

<html>
<body>
...
...

注意:用户可能会设置一些选项来改变浏览器的默认缓存设置。通过发送上述的标头,您将覆盖这些设置并强制浏览器不进行缓存!

例子 2

提示用户保存生成的 PDF 文件(使用 Content-Disposition 头部来提供一个推荐的文件名,并强制浏览器显示保存对话框):

<?php
header("Content-type:application/pdf");

// 它将被命名为 downloaded.pdf  
header("Content-Disposition:attachment;filename='downloaded.pdf'");

// PDF 源文件在 original.pdf 中
readfile("original.pdf");
?>

<html>
<body>

...
...

语法

header(header, replace, http_response_code)

参数值

参数 描述
header 必需。指定要发送的标头字符串。
replace

可选。指示标头是否应替换以前的类似标头或添加相同类型的新标头。

默认值为 TRUE(将替换)。FALSE 允许相同类型的多个标头。

http_response_code 可选。强制将 HTTP 响应代码设置为指定的值。

技术细节

返回值: Nothing
PHP 版本: 4.0+
PHP 更新日志: PHP 5.1.2: 现在可以防止同时发送多个标头。这是针对标头注入攻击的保护措施。