php之header的不同用法总结(实例讲解)


Posted in PHP onNovember 28, 2017

1、header()函数的作用是:发送一个原始 HTTP 标头[Http Header]到客户端。

header(string,replace,http_response_code) 
/*string:必需。规定要发送的报头字符串。
 replace:可选。指示该报头是否替换之前的报头,或添加第二个报头。
 默认是 true(替换)。false(允许相同类型的多个报头)。
 http_response_code:可选。把 HTTP 响应代码强制为指定的值。*/

注意:必须在任何实际的输出被发送之前调用 header() 函数。

2、 用法1:跳转页面

header("Location:https://baidu.com"); //正常跳转
header('Refresh: 3; url=https://www.baidu.com'); //3s后跳转
//在header作跳转时,避免发生错误后,代码继续执行,一般加个exit;

用法2:声明content-type(我经常拿来决解乱码)

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

用法3:返回响应状态码

header('HTTP/1.1 403 Forbidden');

用法4:执行下载操作(隐藏文件的位置)

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

用法5:控制浏览器缓存

header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' ); //如果服务器上的网页经常变化,就把它设置为-1,表示立即过期
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' );

用法6:

3、更多实例

<?php
// ok
header('HTTP/1.1 200 OK');
//设置一个404头:
header('HTTP/1.1 404 Not Found');
//设置地址被永久的重定向
header('HTTP/1.1 301 Moved Permanently');
//转到一个新地址
header('Location: http://www.example.org/');
//文件延迟转向:
header('Refresh: 10; url=http://www.example.org/');
print 'You will be redirected in 10 seconds';
//当然,也可以使用html语法实现
// <meta http-equiv="refresh" content="10;http://www.example.org/ />
// override X-Powered-By: PHP:
header('X-Powered-By: PHP/4.4.0');
header('X-Powered-By: Brain/0.6b');
//文档语言
header('Content-language: en');
//告诉浏览器最后一次修改时间
$time = time() - 60; // or filemtime($fn), etc
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT');
//告诉浏览器文档内容没有发生改变
header('HTTP/1.1 304 Not Modified');
//设置内容长度
header('Content-Length: 1234');
//设置为一个下载类型
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="example.zip"'); 
header('Content-Transfer-Encoding: binary');
// load the file to send:
readfile('example.zip');
// 对当前文档禁用缓存
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Pragma: no-cache');
//设置内容类型:
header('Content-Type: text/html; charset=iso-8859-1');
header('Content-Type: text/html; charset=utf-8');
header('Content-Type: text/plain'); //纯文本格式
header('Content-Type: image/jpeg'); //JPG图片
header('Content-Type: application/zip'); // ZIP文件
header('Content-Type: application/pdf'); // PDF文件
header('Content-Type: audio/mpeg'); // 音频文件
header('Content-Type: application/x-shockwave-flash'); //Flash动画
//显示登陆对话框
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Top Secret"');
print 'Text that will be displayed if the user hits cancel or ';
print 'enters wrong login data';
?>

以上这篇php之header的不同用法总结(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
无数据库的详细域名查询程序PHP版(4)
Oct 09 PHP
简单采集了yahoo的一些数据
Feb 14 PHP
隐藏你的.php文件的实现方法
Mar 19 PHP
PHP中的string类型使用说明
Jul 27 PHP
解析PHP高效率写法(详解原因)
Jun 20 PHP
Smarty foreach控制循环次数的一些方法
Jul 01 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
PHP错误Warning:mysql_query()解决方法
Oct 24 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
Dec 15 PHP
PHP基于自定义类随机生成姓名的方法示例
Aug 05 PHP
Yii2压缩PHP中模板代码的输出问题
Aug 28 PHP
通过PHP实现获取访问用户IP
May 09 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
Nov 28 #PHP
PHP命令空间namespace及use的用法小结
Nov 27 #PHP
Laravel 批量更新多条数据的示例
Nov 27 #PHP
PHP开发实现微信退款功能示例
Nov 25 #PHP
PHP微信企业号开发之回调模式开启与用法示例
Nov 25 #PHP
PHP递归实现汉诺塔问题的方法示例
Nov 25 #PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
Nov 25 #PHP
You might like
php在window iis的莫名问题的测试方法
2013/05/14 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
php检测文件编码的方法示例
2014/04/25 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
PHP获取远程图片并保存到本地的方法
2015/05/12 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
基于javascipt-dom编程 table对象的使用
2013/04/22 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
JavaScript移除数组内重复元素的方法
2015/03/18 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
100行代码实现一个vue分页组功能
2018/11/06 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
微信小程序实现按字母排列选择城市功能
2019/11/25 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
python flask实现分页效果
2017/06/27 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
Python代码注释规范代码实例解析
2020/08/14 Python
美国宠物商店:Wag.com
2016/10/25 全球购物
aden + anais官方网站:婴儿襁褓、毯子、尿布和服装
2017/06/21 全球购物
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
C#如何调用Windows程序打开一个文档
2014/12/26 面试题