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
ASP和PHP都是可以删除自身的
Apr 09 PHP
discuz论坛 用户登录 后台程序代码
Nov 27 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
Jun 12 PHP
php实现求相对时间函数
Jun 15 PHP
PHP单例模式详细介绍
Jul 01 PHP
php文件上传类完整实例
May 14 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
Aug 12 PHP
PHP基于GD库的图像处理方法小结
Sep 27 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 PHP
php基于Redis消息队列实现的消息推送的方法
Nov 28 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
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
咖啡语言
2021/03/03 咖啡文化
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
SESSION存放在数据库用法实例
2015/08/08 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
2007/01/22 Javascript
JavaScript中null与undefined分析
2009/07/25 Javascript
Ext grid 添加右击菜单
2009/11/26 Javascript
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
JavaScript实用技巧(一)
2010/08/16 Javascript
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
flash遮住div问题的正确解决方法
2014/02/27 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
JavaScript中的逻辑判断符&&、||与!介绍
2014/12/31 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
vue动态渲染svg、添加点击事件的实现
2020/03/13 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
Python库urllib与urllib2主要区别分析
2014/07/13 Python
在Python中操作字典之fromkeys()方法的使用
2015/05/21 Python
Python pickle模块用法实例分析
2015/05/27 Python
手把手教你使用Python创建微信机器人
2019/04/29 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
浅析matlab中imadjust函数
2020/02/27 Python
django orm模块中的 is_delete用法
2020/05/20 Python
Flesh Beauty官网:露华浓集团旗下彩妆品牌
2021/02/15 全球购物
酒店副总岗位职责
2013/12/24 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
小学生差生评语
2014/12/29 职场文书
给校长的建议书范文
2015/09/14 职场文书
会议承办单位欢迎词
2015/09/30 职场文书
Django框架模板用法详解
2022/06/10 Python