Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29316388
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类:

2009-04-22 14:49:58

header()函数使用说明: 

一、作用: 
~~~~~~~~~ 
       PHP只是以HTTP协议将HTML文档的标头送到浏览器,告诉浏览器具体怎么处理这个页面,至于传送的内容则需要熟悉一下HTTP协议了,与PHP无关了,可参照。 
       传统的标头一定包含下面三种标头之一,并只能出现一次。 
       Location:  xxxx:yyyy/zzzz 
       Content-Type:  xxxx/yyyy 
       Status:  nnn  xxxxxx 

二、先来了解一下HTTP协议的运作方式 


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
       HTTP协议是基于请求/响应范式的。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是 MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行包括信息的协议版本号、一个成功或错误 的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。 
       它分四个过程,在HTTP协议中,服务端是指提供HTTP服务的部分,客户端是指你使用的浏览器或者下载工具等等。在通讯时,由客户端发出请求连接,服务 端建立连接;然后,客户端发出HTTP请求(Request),服务端返回响应信息(Respond),由此完成一个HTTP操作。 

三、HTTP协议状态码表示的意思 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  1××  保留 
  2××  表示请求成功地接收 
  3××  为完成请求客户需进一步细化请求 
  4××  客户错误 
  5××  服务器错误 

四、操作实例: 
~~~~~~~~~~~~~ 
   <1>  重定向功能,这种最常见 
                 

Header("Location:  ://">http://");

   

   <2>  强制用户每次访问这个页面时获取最新资料,而不是使用存在客户端的缓存。 
                  //告诉浏览器此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。 
           header(”Expires:  Mon,  26  Jul  1970  05:00:00  GMT”); 
           //告诉浏览器此页面的最后更新日期(用格林威治时间表示)也就是当天,目的就是强迫浏览器获取最新资料 
           header(”Last-Modified:  “  .  gmdate(”D,  d  M  Y  H:i:s”)  .  “GMT”); 
           //告诉客户端浏览器不使用缓存 
           header(”Cache-Control:  no-cache,  must-revalidate”); 
           //参数(与以前的服务器兼容),即兼容HTTP1.0协议 
           header(”Pragma:  no-cache”);     
           //输出MIME类型 
           header(”Content-type:  application/file”);     
           //文件长度 
           header(”Content-Length:  227685″);     
           //接受的范围单位 
           header(”Accept-Ranges:  bytes”); 
           //缺省时文件保存对话框中的文件名称 
           header(”Content-Disposition:  attachment;  filename=$filename”); 
       ?> 

   <3>  输出状态值到浏览器,主要用于访问权限控制 
                  header(’HTTP/1.1  401  Unauthorized’); 
           header(’status:  401  Unauthorized’); 
       ?> 
           比如要限制一个用户不能访问该页,则可设置状态为404,如下所示,这样浏览器就显示为即该页不存在 
                  header(’HTTP/1.1  404  Not  Found’); 
           header(”status:  404  Not  Found”); 
       ?>

Content-type 的说明

$mimetypes = array(
    ‘ez’        => ‘application/andrew-inset’,
    ‘hqx’        => ‘application/mac-binhex40′,
    ‘cpt’        => ‘application/mac-compactpro’,
    ‘doc’        => ‘application/msword’,
    ‘bin’        => ‘application/octet-stream’,
    ‘dms’        => ‘application/octet-stream’,
    ‘lha’        => ‘application/octet-stream’,
    ‘lzh’        => ‘application/octet-stream’,
    ‘exe’        => ‘application/octet-stream’,
    ‘class’        => ‘application/octet-stream’,
    ’so’        => ‘application/octet-stream’,
    ‘dll’        => ‘application/octet-stream’,
    ‘oda’        => ‘application/oda’,
    ‘pdf’        => ‘application/pdf’,
    ‘ai’        => ‘application/postscript’,
    ‘eps’        => ‘application/postscript’,
    ‘ps’        => ‘application/postscript’,
    ’smi’        => ‘application/smil’,
    ’smil’        => ‘application/smil’,
    ‘mif’        => ‘application/vnd.mif’,
    ‘xls’        => ‘application/vnd.ms-excel’,
    ‘ppt’        => ‘application/vnd.ms-powerpoint’,
    ‘wbxml’        => ‘application/vnd.wap.wbxml’,
    ‘wmlc’        => ‘application/vnd.wap.wmlc’,
    ‘wmlsc’        => ‘application/vnd.wap.wmlscriptc’,
    ‘bcpio’        => ‘application/x-bcpio’,
    ‘vcd’        => ‘application/x-cdlink’,
    ‘pgn’        => ‘application/x-chess-pgn’,
    ‘cpio’        => ‘application/x-cpio’,
    ‘csh’        => ‘application/x-csh’,
    ‘dcr’        => ‘application/x-director’,
    ‘dir’        => ‘application/x-director’,
    ‘dxr’        => ‘application/x-director’,
    ‘dvi’        => ‘application/x-dvi’,
    ’spl’        => ‘application/x-futuresplash’,
    ‘gtar’        => ‘application/x-gtar’,
    ‘hdf’        => ‘application/x-hdf’,
    ‘js’        => ‘application/x-javascript’,
    ’skp’        => ‘application/x-koan’,
    ’skd’        => ‘application/x-koan’,
    ’skt’        => ‘application/x-koan’,
    ’skm’        => ‘application/x-koan’,
    ‘latex’        => ‘application/x-latex’,
    ‘nc’        => ‘application/x-netcdf’,
    ‘cdf’        => ‘application/x-netcdf’,
    ’sh’        => ‘application/x-sh’,
    ’shar’        => ‘application/x-shar’,
    ’swf’        => ‘application/x-shockwave-flash’,
    ’sit’        => ‘application/x-stuffit’,
    ’sv4cpio’    => ‘application/x-sv4cpio’,
    ’sv4crc’    => ‘application/x-sv4crc’,
    ‘tar’        => ‘application/x-tar’,
    ‘tcl’        => ‘application/x-tcl’,
    ‘tex’        => ‘application/x-tex’,
    ‘texinfo’    => ‘application/x-texinfo’,
    ‘texi’        => ‘application/x-texinfo’,
    ‘t’            => ‘application/x-troff’,
    ‘tr’        => ‘application/x-troff’,
    ‘roff’        => ‘application/x-troff’,
    ‘man’        => ‘application/x-troff-man’,
    ‘me’        => ‘application/x-troff-me’,
    ‘ms’        => ‘application/x-troff-ms’,
    ‘ustar’        => ‘application/x-ustar’,
    ’src’        => ‘application/x-wais-source’,
    ‘xhtml’        => ‘application/xhtml+xml’,
    ‘xht’        => ‘application/xhtml+xml’,
    ‘zip’        => ‘application/zip’,
    ‘au’        => ‘audio/basic’,
    ’snd’        => ‘audio/basic’,
    ‘mid’        => ‘audio/midi’,
    ‘midi’        => ‘audio/midi’,
    ‘kar’        => ‘audio/midi’,
    ‘mpga’        => ‘audio/mpeg’,
    ‘mp2′        => ‘audio/mpeg’,
    ‘mp3′        => ‘audio/mpeg’,
    ‘aif’        => ‘audio/x-aiff’,
    ‘aiff’        => ‘audio/x-aiff’,
    ‘aifc’        => ‘audio/x-aiff’,
    ‘m3u’        => ‘audio/x-mpegurl’,
    ‘ram’        => ‘audio/x-pn-realaudio’,
    ‘rm’        => ‘audio/x-pn-realaudio’,
    ‘rpm’        => ‘audio/x-pn-realaudio-plugin’,
    ‘ra’        => ‘audio/x-realaudio’,
    ‘wav’        => ‘audio/x-wav’,
    ‘pdb’        => ‘chemical/x-pdb’,
    ‘xyz’        => ‘chemical/x-xyz’,
    ‘bmp’        => ‘image/bmp’,
    ‘gif’        => ‘image/gif’,
    ‘ief’        => ‘image/ief’,
    ‘jpeg’        => ‘image/jpeg’,
    ‘jpg’        => ‘image/jpeg’,
    ‘jpe’        => ‘image/jpeg’,
    ‘png’        => ‘image/png’,
    ‘tiff’        => ‘image/tiff’,
    ‘tif’        => ‘image/tiff’,
    ‘djvu’        => ‘image/vnd.djvu’,
    ‘djv’        => ‘image/vnd.djvu’,
    ‘wbmp’        => ‘image/vnd.wap.wbmp’,
    ‘ras’        => ‘image/x-cmu-raster’,
    ‘pnm’        => ‘image/x-portable-anymap’,
    ‘pbm’        => ‘image/x-portable-bitmap’,
    ‘pgm’        => ‘image/x-portable-graymap’,
    ‘ppm’        => ‘image/x-portable-pixmap’,
    ‘rgb’        => ‘image/x-rgb’,
    ‘xbm’        => ‘image/x-xbitmap’,
    ‘xpm’        => ‘image/x-xpixmap’,
    ‘xwd’        => ‘image/x-xwindowdump’,
    ‘igs’        => ‘model/iges’,
    ‘iges’        => ‘model/iges’,
    ‘msh’        => ‘model/mesh’,
    ‘mesh’        => ‘model/mesh’,
    ’silo’        => ‘model/mesh’,
    ‘wrl’        => ‘model/vrml’,
    ‘vrml’        => ‘model/vrml’,
    ‘css’        => ‘text/css’,
    ‘html’        => ‘text/html’,
    ‘htm’        => ‘text/html’,
    ‘asc’        => ‘text/plain’,
    ‘txt’        => ‘text/plain’,
    ‘rtx’        => ‘text/richtext’,
    ‘rtf’        => ‘text/rtf’,
    ’sgml’        => ‘text/sgml’,
    ’sgm’        => ‘text/sgml’,
    ‘tsv’        => ‘text/tab-separated-values’,
    ‘wml’        => ‘text/vnd.wap.wml’,
    ‘wmls’        => ‘text/vnd.wap.wmlscript’,
    ‘etx’        => ‘text/x-setext’,
    ‘xsl’        => ‘text/xml’,
    ‘xml’        => ‘text/xml’,
    ‘mpeg’        => ‘video/mpeg’,
    ‘mpg’        => ‘video/mpeg’,
    ‘mpe’        => ‘video/mpeg’,
    ‘qt’        => ‘video/quicktime’,
    ‘mov’        => ‘video/quicktime’,
    ‘mxu’        => ‘video/vnd.mpegurl’,
    ‘avi’        => ‘video/x-msvideo’,
    ‘movie’        => ‘video/x-sgi-movie’,
    ‘ice’        => ‘x-conference/x-cooltalk’,
);

?>

阅读(941) | 评论(0) | 转发(0) |
0

上一篇:PHP中SESSION函数

下一篇:ASP 变量

给主人留下些什么吧!~~