php header功能的使用

什么是头信息?
这里只作简单解释,详细的自己看http协议。
在 HTTP协议中,服务器端的回答(response)内容包括两部分:头信息(header) 和
体内容,这里的头信息不是HTML中的<head></head>部分,同样,体内容也不是<BODY><
/BODY>。头信息是用户看不见的,里面包含了很多项,包括:服务器信息、日期、内容的长度等。而体内容就是整个HTML,也就是你所能看见的全
部东西。

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

头信息有什么用呢?
头信息的作用很多,最主要的有下面几个:

复制代码 代码如下:

1、跳转:当浏览器接受到头信息中的 Location: xxxx 后,就会自动跳转到 xxxx
指向的URL地址,这点有点类似用 js
写跳转。但是这个跳转只有浏览器知道,不管体内容里有没有东西,用户都看不到。

<?php
//200 正常状态
header('HTTP/1.1 200 OK');
// 301 永久重定向,记得在后面要加重定向地址 Location:$url
header('HTTP/1.1 301 Moved Permanently');
// 重定向,其实就是302 暂时重定向
header('Location: ');
// 设置页面304 没有修改
header('HTTP/1.1 304 Not Modified');
// 显示登录框,
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="登录信息"');
echo '显示的信息!';
// 403 禁止访问
header('HTTP/1.1 403 Forbidden');
// 404 错误
header('HTTP/1.1 404 Not Found');
// 500 服务器错误
header('HTTP/1.1 500 Internal Server Error');
// 3秒后重定向指定地址(也就是刷新到新页面与 <meta
http-equiv="refresh" content="10;//www.jb51.net/ /> 相同)
header('Refresh: 3; url=//www.jb51.net/');
echo '10后跳转到//www.jb51.net';
// 重写 X-Powered-By 值
header('X-Powered-By: PHP/5.3.0');
header('X-Powered-By: Brain/0.6b');
//设置上下文语言
header('Content-language: en');
 // 设置页面最后修改时间(多用于防缓存)
$time = time() - 60; //建议使用filetime函数来设置页面缓存时间
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT');
// 设置内容长度
header('Content-Length: 39344');
// 设置头文件类型,可以用于流文件或者文件下载
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="example.zip"');
header('Content-Transfer-Encoding: binary');
readfile('example.zip');//读取文件到客户端

2、指定网页的内容: 同样一个XML文件,如果头信息中指定:Content-type:
application/xml
的话,浏览器会将其按照XML文件格式解析。但是,如果头信息中是:Content-type:
text/xml
的话,浏览器就会将其看作存文本解析。(浏览器不是按照扩展名解析文件的)

//禁用页面缓存
header('Cache-Control: no-cache, no-store, max-age=0,
must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Pragma: no-cache');

3、附件:不知道大家有没
有注意,有些时候在一些网站下载东西,点下载连接以后,结果浏览器将这个附件当成网页打开了,里面显示的都是乱码,这个问题也和头信息有关。有时候浏览器
根据Content-type
来判断是打开还是保存,这样有时就会判断错误(主要是网站设计者忘记写Content-type)。其实,还有一个可以来指定该内容为附件、需要保存,这
个就是:Content-Disposition: attachment; filename=”xxxxx”

//设置页面头信息
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');
header('Content-Type: application/zip');
header('Content-Type: application/pdf');
header('Content-Type: audio/mpeg');
header('Content-Type: application/x-shockwave-flash');
//.... 至于Content-Type 的值 可以去查查 w3c 的文档库,那里很丰富
?>

在PHP中如何写?
1、跳转:

您可能感兴趣的文章:

  • php出现Cannot modify header
    information问题的解决方法大全
  • php header()函数使用说明
  • PHP
    Header用于页面跳转要注意的几个问题总结
  • php利用header函数实现文件下载时直接提示保存
  • php session_start()关于Cannot send session cache limiter - headers
    already sent错误解决方法
  • PHP
    页面编码声明方法详解(header或meta)
  • PHP下利用header()函数设置浏览器缓存的代码
  • php header
    Content-Type类型小结
  • PHP
    header()函数使用详细(301、404等错误设置)
  • php中get_headers函数的作用及用法的详细介绍
  • 探讨php中header的用法详解
  • PHP 使用header函数设置HTTP头的示例解析
    表头
  • 浅析php header 跳转
  • php用header函数实现301跳转代码实例
  • PHP错误Warning: Cannot modify header information - headers already
    sent by解决方法
  • PHP使用header()输出图片缓存实例
  • PHP
    常用的header头部定义汇总

 代码如下

header(“Location: );

2、指定内容:

 代码如下

header(‘Content-type: application/pdf’);

相关文章

Comment ()
评论是一种美德,说点什么吧,否则我会恨你的。。。