关闭

PHP header()函数详解

标签: phpheader
98人阅读 评论(0) 收藏 举报
分类:

1. 概述

  • header()函数的作用是:发送一个原始HTTP标头到客户端。
  • 头信息是用户看不见的,里面包含了很多项,包括:服务器信息、日期、内容的长度等。
  • 头信息主要的作用为:
    • 跳转:跳转到指定URL地址。
    • 指定网页的内容:浏览器会根据指定的网页格式解析文件。
    • 附件:指定内容为附件,提示浏览器需要保存。

2. 用法

实例1:

// 指定内容为附件
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// 打开文件,并输出
readfile('original.pdf');

实例2:

// 指定内容类型为字节流,浏览器默认下载字节流数据
header("Content-type:application/octet-stream");
// 指定文件长度
header("Accept-Ranges:bytes");
header("Accept-Length:" . filesize($file));
//指定内容为附件
header('Content-Disposition:attachment;filename="downloaded.pdf"');
//指定传输的编码方式
header("Content-Transfer-Encoding:binary");
//打开文件并输出
readfile($file);

3. 更多实例

<?php

// ok
header('HTTP/1.1 200 OK');

//设置一个404头:
header('HTTP/1.1 404 Not Found');

//设置地址被永久的重定向
header('HTTP/1.1 301 Moved Permanently');

//转到一个新地址
header('Location: http://www.example.org/');

//文件延迟转向:
header('Refresh: 10; url=http://www.example.org/');
print 'You will be redirected in 10 seconds';

//当然,也可以使用html语法实现
// <meta http-equiv="refresh" content="10;http://www.example.org/ />

// override X-Powered-By: PHP:
header('X-Powered-By: PHP/4.4.0');
header('X-Powered-By: Brain/0.6b');

//文档语言
header('Content-language: en');

//告诉浏览器最后一次修改时间
$time = time() - 60; // or filemtime($fn), etc
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT');

//告诉浏览器文档内容没有发生改变
header('HTTP/1.1 304 Not Modified');

//设置内容长度
header('Content-Length: 1234');

//设置为一个下载类型
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="example.zip"');
header('Content-Transfer-Encoding: binary');
// load the file to send:
readfile('example.zip');

// 对当前文档禁用缓存
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Pragma: no-cache');

//设置内容类型:
header('Content-Type: text/html; charset=iso-8859-1');
header('Content-Type: text/html; charset=utf-8');
header('Content-Type: text/plain'); //纯文本格式
header('Content-Type: image/jpeg'); //JPG图片
header('Content-Type: application/zip'); // ZIP文件
header('Content-Type: application/pdf'); // PDF文件
header('Content-Type: audio/mpeg'); // 音频文件
header('Content-Type: application/x-shockwave-flash'); //Flash动画

//显示登陆对话框
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Top Secret"');
print 'Text that will be displayed if the user hits cancel or ';
print 'enters wrong login data';
?>

4. 注意

  • PHP向客户端发送HTTP报头之前不能有任何实际的输出,否则会报错。即HTTP报头是需要返回给客户端的首要内容。

参考资料

http://www.lovezbs.com/UPLOAD/?/article/80

http://www.cnblogs.com/cloudlee/archive/2012/10/17/2727434.html

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

php中的 header () 函数详解

header()函数的作用是:发送一个原始 HTTP 标头[Http Header]到客户端。 标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头  与 HTML 文件之间尚需空一行分隔。有关 HTTP 的详细说明,可以参 RFC 206...
  • u010714784
  • u010714784
  • 2017-01-13 10:31
  • 2541

PHP header() 函数及其常见使用

语法: 1 Void header(string $string[,bool $replace=true [, int $http_response_code) 向客...
  • liruxing1715
  • liruxing1715
  • 2014-06-05 11:00
  • 1361

PHP中header的用法详解

header is used to send raw HTTP headers. See the HTTP/1.1 specification for more information on HTTP headers. 范例一:  <?PHP He...
  • qq_34642668
  • qq_34642668
  • 2016-09-04 15:36
  • 1620

php中的 header () 函数详解

header()函数的作用是:发送一个原始 HTTP 标头[Http Header]到客户端。 标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头  与 HTML 文件之间尚需空一行分隔。有关 HTTP 的详细说明,可以参 RFC 206...
  • alashan007
  • alashan007
  • 2018-01-09 19:43
  • 16

PHP函数—header详解

php header函数详解 header() 函数向客户端发送原始的 HTTP 报头。 客户机的请求方式格式:是统一资源标识符、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容!服务器响应格式:一个状态行包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服...
  • wlzx120
  • wlzx120
  • 2015-08-04 17:29
  • 241

PHP header()函数详解

header()函数的作用是:发送一个原始 HTTP 标头[Http Header]到客户端。 标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头  与 HTML 文件之间尚需空一行分隔。有关 HTTP 的详细说明,可以参 RFC 206...
  • ljguo212
  • ljguo212
  • 2013-05-23 15:11
  • 369

PHP高级应用之 利用header()函数设置浏览器缓存

这涉及到4种头标类型: Last-Modified(最后修改时间); Expires(有效期限); Pragma(编译指示); Cache-Control(缓存控制);   前三个头标属于HTTP1.0标准。头标Last-Modified使用UTC日期时间值。如果缓存系统发现Last-M...
  • u011986449
  • u011986449
  • 2014-01-16 17:42
  • 2731

php通过header发送自定义数据

本文将介绍如何通过header发送自定义数据。发送请求时,除了可以使用$_GET/$_POST发送数据,也可以把数据放在header中传输过去。
  • fdipzone
  • fdipzone
  • 2015-10-30 22:32
  • 22661

PHP中header的用法总结

转自:http://blog.sina.com.cn/s/blog_7298f36f01011dxv.html header的用法 header()函数的作用是:发送一个原始 HTTP 标头[Http Header]到客户端。 标头 (header) 是服务器以 HTTP 协义传 HTML...
  • chenhualeguan
  • chenhualeguan
  • 2016-05-27 17:19
  • 1854

【PHP基础知识】——Header()函数

前言:通常我们在PHP文件的入口都会或多或少地设置header函数,或许有些人知道它的作用,有些人只是用来重定向或者设置编码格式。 这里我就来归纳总结一下header函数的作用。
  • dream_successor
  • dream_successor
  • 2017-07-07 16:42
  • 271
    个人资料
    • 访问:5928次
    • 积分:141
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章存档