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 str_pad() 将字符串填充成指定长度的字符串
Feb 23 PHP
php下获取客户端ip地址的函数
Mar 15 PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
Jun 24 PHP
解析centos中Apache、php、mysql 默认安装路径
Jun 25 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
Apr 30 PHP
Yii查询生成器(Query Builder)用法实例教程
Sep 04 PHP
在Mac上编译安装PHP7的开发环境
Jul 28 PHP
PHP实现路由映射到指定控制器
Aug 13 PHP
laravel 中如何使用ajax和vue总结
Aug 16 PHP
PHP创建自己的Composer包方法
Apr 09 PHP
Laravel相关的一些故障解决
Aug 19 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乱码问题
2012/03/25 PHP
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
PHP设计模式之代理模式的深入解析
2013/06/13 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
JavaScript Math.ceil() 函数使用介绍
2013/12/11 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
2017/04/13 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
Python中unittest用法实例
2014/09/25 Python
浅谈Python爬取网页的编码处理
2016/11/04 Python
Tensorflow 查看变量的值方法
2018/06/14 Python
Python中最大递归深度值的探讨
2019/03/05 Python
python爬虫之自制英汉字典
2019/06/24 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
2020/12/01 Python
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
2012/10/27 面试题
教师党性分析材料
2014/02/04 职场文书
《兰亭集序》教学反思
2014/02/11 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
人资专员岗位职责
2014/04/04 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
学校工作推荐信范文
2014/07/11 职场文书
小学生成绩单评语
2014/12/31 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
nginx location中多个if里面proxy_pass的方法
2021/03/31 Servers
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android