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中的实现trim函数代码
Mar 19 PHP
PHP中Date获取时间不正确怎么办
Jun 05 PHP
抓取YAHOO股票报价的类
May 15 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
Oct 31 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
Nov 10 PHP
工厂模式在Zend Framework中应用介绍
Jul 10 PHP
PHP浮点比较大小的方法
Feb 14 PHP
php rsa 加密,解密,签名,验签详解
Dec 06 PHP
总结的一些PHP开发中的tips(必看篇)
Mar 24 PHP
PHP迭代器接口Iterator用法分析
Dec 28 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
May 12 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 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
再说下636单管机
2021/03/02 无线电
PHP 命名空间实例说明
2011/01/27 PHP
PHP提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
万能的php分页类
2017/07/06 PHP
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
2020/11/09 Javascript
Python解析Excle文件中的数据方法
2018/10/23 Python
python的继承知识点总结
2018/12/10 Python
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
关于Python形参打包与解包小技巧分享
2019/08/24 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
Python ORM框架Peewee用法详解
2020/04/29 Python
python自定义函数def的应用详解
2020/06/03 Python
Django中如何用xlwt生成表格的方法步骤
2021/01/31 Python
纯HTML5+CSS3制作生日蛋糕(代码易懂)
2016/11/16 HTML / CSS
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
如何客观的进行自我评价
2013/12/17 职场文书
幼师自我鉴定
2014/02/01 职场文书
后备干部考察材料
2014/02/12 职场文书
化学教学随笔感言
2014/02/19 职场文书
规范化管理年活动总结
2014/08/29 职场文书
拾金不昧感谢信
2015/01/21 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
浅谈MySql整型索引和字符串索引失效或隐式转换问题
2021/11/20 MySQL