PHP中header函数的用法及其注意事项详解


Posted in PHP onJune 13, 2016
void header ( string $string [, bool $replace = true [, int $http_response_code ]] ) : Send a raw HTTP header

下面有一些使用header的几种用法:

1、使用header函数进行跳转页面;

header('Location:'.$url);

其中$url就是将要跳转的url了。

这种用法的注意事项有以下几点:

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

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

•header 后面的东西还会执行的;

2、使用header声明content-type

header('content-type:text/html;charset=utf-8');

这个没有什么好说的;

3、使用header返回response 状态码

header(sprintf('%s %d %s', $http_version, $status_code, $description));

样式就是这样的;

例如:header('HTTP/1.1 404 Not Found');

4、使用header在某个时间后执行跳转

 header("Refresh: {$delay}; url={$url}");

 其中$delay就是推迟跳转的时间,$url为需要跳转的url

 例如:header('Refresh: 10; url=http://www.example.org/'); 意思为10s后跳转到http://www.eexample.org这个网站

5、使用header控制浏览器缓存

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进行下载操作

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'));//设置内容长度
// load the file to send:
readfile('example.zip');//读取需要下载的文件

下面再给大家介绍PHP header 的几种用法

跳转页面

header('Location:'.$url); //Location和":"之间无空格。

声明content-type

header('content-type:text/html;charset=utf-8');

返回response状态码

header('HTTP/1.1 404 Not Found');

在某个时间后执行跳转

header('Refresh: 10; url=http://www.baidu.com/'); //10s后跳转。

控制浏览器缓存

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");

执行http验证

header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Top Secret"');

执行下载操作

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')); //设置内容长度

PHP 相关文章推荐
关于文本留言本的分页代码
Oct 09 PHP
完美解决PHP中文乱码
Nov 26 PHP
PHP生成等比缩略图类和自定义函数分享
Jun 25 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
php准确计算复活节日期的方法
Apr 18 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
PHP数组游标实现对数组的各种操作详解
Jan 26 PHP
PHP getallheaders无法获取自定义头(headers)的问题
Mar 23 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
Apr 21 PHP
PHP实现的服务器一致性hash分布算法示例
Aug 09 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 PHP
PHP的时间戳与具体时间转化的简单实现
Jun 13 #PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
Jun 13 #PHP
Netbeans 8.2将支持PHP7 更精彩
Jun 13 #PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
Jun 13 #PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
Jun 13 #PHP
PHPStorm+XDebug进行调试图文教程
Jun 13 #PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
Jun 13 #PHP
You might like
PHP脚本数据库功能详解(中)
2006/10/09 PHP
php AJAX实例根据邮编自动完成地址信息
2008/11/23 PHP
献给php初学者(入门学习经验谈)
2010/10/12 PHP
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
Docker 如何布置PHP开发环境
2016/06/21 PHP
PHPMailer发送邮件
2016/12/28 PHP
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
你必须知道的Javascript知识点之"深入理解作用域链"的介绍
2013/04/23 Javascript
js单独获取一个checkbox看其是否被选中
2014/09/22 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
JavaScript编写点击查看大图的页面半透明遮罩层效果实例
2016/05/09 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
[01:05:24]Ti4 冒泡赛第二天 iG vs NEWBEE 3
2014/07/15 DOTA
常见python正则用法的简单实例
2016/06/21 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
Python 查看文件的读写权限方法
2018/01/23 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
python requests指定出口ip的例子
2019/07/25 Python
PyCharm2019安装教程及其使用(图文教程)
2019/09/29 Python
python实时监控logstash日志代码
2020/04/27 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
python爬取微博评论的实例讲解
2021/01/15 Python
Reformation官网:美国女装品牌
2018/09/14 全球购物
CHARLES & KEITH澳大利亚官网:新加坡时尚品牌
2019/01/22 全球购物
自主招生自荐书
2013/11/29 职场文书
领导干部培训感言
2014/01/23 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
廉政承诺书范文
2015/04/28 职场文书
追悼会答谢词范文
2015/09/29 职场文书
详解如何用Python实现感知器算法
2021/06/18 Python