您好,欢迎访问一九零五行业门户网

php header()有什么用?

php header()函数可以向客户端发送原始的http报头,即给客户端发送头信息。
什么是头信息?
这里只作简单解释,详细的自己看http协议。
在 http协议中,服务器端的回答(response)内容包括两部分:头信息(header) 和 体内容,这里的头信息不是html中的93f0f5c25f18dab9d176bd4f6de5d30e9c3bca370b5104690d9ef395f2c5f8d1部分,同样,体内容也不是a64997a0904a094b4570728d7f327acda0b5ad22ce41154d0eeb328c7ad40487。头信息是用户看不见的,里面包含了很多项,包括:服务器信息、日期、内容的长度等。而体内容就是整个html,也就是你所能看见的全部东西。
头信息有什么用呢?
头信息的作用很多,最主要的有下面几个:
1、跳转:当浏览器接受到头信息中的 location: xxxx 后,就会自动跳转到 xxxx 指向的url地址,这点有点类似用 js 写跳转。但是这个跳转只有浏览器知道,不管体内容里有没有东西,用户都看不到。
2、指定网页的内容: 同样一个xml文件,如果头信息中指定:content-type: application/xml 的话,浏览器会将其按照xml文件格式解析。但是,如果头信息中是:content-type: text/xml 的话,浏览器就会将其看作存文本解析。(浏览器不是按照扩展名解析文件的)
3、附件: 不知道大家有没有注意,有些时候在一些网站下载东西,点下载连接以后,结果浏览器将这个附件当成网页打开 了,里面显示的都是乱码,这个问题也和头信息有关。有时候浏览器根据content-type 来判断是打开还是保存,这样有时就会判断错误(主要是网站设计者忘记写content-type)。其实,还有一个可以来指定该内容为附件、需要保存,这 个就是:content-disposition: attachment; filename=xxxxx
3、附件:
// 指定内容为附件header('content-disposition: attachment; filename="downloaded.pdf"');// 打开文件,并输出readfile('original.pdf');
php header 的7种用法
1. 跳转页面
header('location:'.$url); //location和":"之间无空格。
2. 声明content-type和页面的字符编码
header('content-type:text/html;charset=utf-8');
3. 返回response状态码
header('http/1.1 404 not found');
4. 在某个时间后执行跳转
header('refresh: 10; url=http://www.baidu.com/'); //10s后跳转。
5. 控制浏览器缓存
header("expires: mon, 26 jul 1997 05:00:00 gmt");header("last-modified: " . gmdate("d, d m y h:i:s") . "gmt");header("cache-control: no-cache, must-revalidate");header("pragma: no-cache");
6. . 执行http验证
header('http/1.1 401 unauthorized');header('www-authenticate: basic realm="top secret"');
7. 执行下载操作
header('content-type: application/octet-stream'); //设置内容类型header('content-disposition: attachment; filename="example.zip"'); //设置mime用户作为附件header('content-transfer-encoding: binary'); //设置传输方式header('content-length: '.filesize('example.zip')); //设置内容长度
注意:
所有头信息都必须在体内容之前,如果一旦有任何输出了的话,header函数写的 头信息就没用了。
比如,在文件最开头的 更多相关知识,请访问 !!
其它类似信息

推荐信息