header函数在PHP中是发送一些头部信息的, 我们可以直接使用它来做301跳转等,下面我来总结关于header函数用法与一些常用见问题解决方法。

发送一个原始 HTTP 标头[Http Header]到客户端。标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔.

1.重定向.

Header("Location: http://www.mobiletrain.org");

exit; //在每个重定向之后都必须加上“exit”,避免发生错误后,继续执行。

2.禁止页面在IE中缓存

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-store, no-cache, must-revalidate' );header( 'Cache-Control: post-check=0, pre-check=0', false );header( 'Pragma: no-cache' ); //兼容http1.0和https

3.实现文件下载

header('Content-Type: application/octet-stream');//设置内容类型header('Content-Disposition: attachment; filename="example.zip"'); //设置MIME用户作为附件下载 如果将attachment换成inline意思为在线打开header('Content-Transfer-Encoding: binary');//设置传输方式header('Content-Length: '.filesize('example.zip'));//设置内容长度readfile('example.zip');//读取需要下载的文件

4. 向浏览器发送Status标头

header(”Status: 404 Not Found”);

但是我发现实际上浏览器返回的响应却是:

// okheader(‘HTTP/1.1 200 OK’);//设置一个404头:header(‘HTTP/1.1 404 Not Found’);//设置地址被永久的重定向header(‘HTTP/1.1 301 Moved Permanently’);HTTP/1.x 200 OKDate: Thu, 03 Aug 2006 07:49:11 GMTServer: Apache/2.0.55 (Win32)php/5.0.5X-Powered-By: PHP/5.0.5Status: 404 Not FoundContent-Length: 0Keep-Alive: timeout=15, max=98Connection: Keep-AliveContent-Type: text/html注意事项有以下几点.

Location和”:”之间不能有空格,否则会出现错误(注释:我刚测试了,在我本地环境下,没有跳转页面,但是也没有报错,不清楚什么原因);

在用header前不能有任何的输出(注释:这点大家都知道的,如果header之前有任何的输出,包括空白,就会出现header already sent by xxx的错误);

header 后面的东西还会执行的。

推荐:《PHP教程》

更多相关文章

  1. 如何对php文件加密
  2. php文件上传步骤是什么
  3. php如何获取上传文件大小
  4. php引入文件的四个方法
  5. PHP实时生成并下载超大数据量的EXCEL文件
  6. PHP实现文件上传下载实例详细讲解
  7. php怎么启动exe文件
  8. PHP高性能Excel扩展1.2.8发布,文件读取数据类型可控!
  9. PHP 中使用 TUS 协议来实现大文件的断点续传

随机推荐

  1. jQuery:离线后发布错误(iOS和Chrome)
  2. 记录前台页面一些jQuery笔记
  3. 如何修复JSON对象的假数组?
  4. 如何使用jquery在表中选择一行?
  5. Webhoster插入了一个javascript,它会阻止
  6. jquery的$.alerts.alert怎么实现点击后跳
  7. 浏览器Bug在输入上显示时间文本
  8. 在执行ajax时显示加载图像
  9. 使用jQuery的dataTable插件和嵌套的Ajax
  10. 在使用javascript将信息输入到输入字段时