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 相关文章推荐
PHP 和 MySQL 基础教程(一)
Oct 09 PHP
PHP 如何向 MySQL 发送数据
Oct 09 PHP
PHP中的类-什么叫类
Nov 20 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
PHP设计模式之调解者模式的深入解析
Jun 13 PHP
PHP页面实现定时跳转的方法
Oct 31 PHP
thinkphp中memcache的用法实例
Nov 29 PHP
php获取文章上一页与下一页的方法
Dec 01 PHP
php中adodbzip类实例
Dec 08 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
phpfpm的作用和用法
Oct 10 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中数字、字符与对象判断函数用法实例
2014/11/26 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
使用nodejs下载风景壁纸
2017/02/05 NodeJs
JS仿Base.js实现的继承示例
2017/04/07 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
微信小程序实现炫酷的弹出式菜单特效
2019/01/28 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
js new Date()实例测试
2019/10/31 Javascript
python3调用百度翻译API实现实时翻译
2018/08/16 Python
python分布式编程实现过程解析
2019/11/08 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
CSS3实现内凹圆角的实例代码
2017/05/04 HTML / CSS
以实惠的价格提供高品质的时尚:Newchic
2018/01/18 全球购物
学年自我鉴定范文
2013/10/01 职场文书
开业庆典邀请函
2014/01/08 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
遗体告别仪式主持词
2014/03/20 职场文书
《凡卡》教学反思
2014/04/09 职场文书
大二学年个人总结
2015/03/03 职场文书
主持人开场白台词
2015/05/29 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
Windows server 2016服务器基本设置
2022/08/14 Servers