header - 发送原生 HTTP 头

  1. 语法:header (string $string [, bool $replace = true [, int $http_response_code ]] )

参数

参数必需的描述
string
头字符串。有两种特别的头。第一种以“HTTP/”开头的 ,将会被用来计算出将要发送的HTTP状态码。 例如在 Apache 服务器上用 PHP 脚本来处理不存在文件的请求(使用 ErrorDocument 指令), 就会希望脚本响应了正确的状态码。例如header("HTTP/1.0 404 Not Found");。
第二种特殊情况是“Location:”的头信息。它不仅把报文发送给浏览器,而且还将返回给浏览器一个 REDIRECT(302)的状态码,除非状态码已经事先被设置为了201或者3xx。例如:header("Location: http://www.example.com/");
replace可选参数 replace 表明是否用后面的头替换前面相同类型的头。 默认情况下会替换。如果传入 FALSE,就可以强制使相同的头信息并存。例如:header('WWW-Authenticate: Negotiate'); header('WWW-Authenticate: NTLM', false);
http_response_code强制指定HTTP响应的值。注意,这个参数只有在报文字符串(string)不为空的情况下才有效。

  1. /*如果你想提醒用户去保存你发送的数据,例如保存一个生成的PDF文件。你可以使用? Content-Disposition的报文信息来提供一个推荐的文件名,并且强制浏览器显示一个文件下载的对话框。*/
  2. // We'll be outputting a PDF
  3. header('Content-type: application/pdf');
  4. // It will be called downloaded.pdf
  5. header('Content-Disposition: attachment; filename="downloaded.pdf"');
  6. // The PDF source is in original.pdf
  7. readfile('original.pdf

相关函数

headers_sent() - 检测 HTTP 头是否已经发送
setcookie() - 发送 Cookie
http_response_code() - 获取/设置响应的 HTTP 状态码
10-30 17:48