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数据缓存技术
Feb 14 PHP
PHP 遍历XP文件夹下所有文件
Nov 27 PHP
php将时间差转换为字符串提示
Sep 07 PHP
显示程序执行时间php函数代码
Aug 29 PHP
php对二维数组按指定键值key排序示例代码
Nov 26 PHP
symfony表单与页面实现技巧
Jan 26 PHP
Apache无法自动跳转却显示目录的解决方法
Nov 30 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
关于PHP中字符串与多进制转换函数的实例代码
Nov 03 PHP
PHP下载远程图片的几种方法总结
Apr 07 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
php基于 swoole 实现的异步处理任务功能示例
Aug 13 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
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
PHP无限分类(树形类)
2013/09/28 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
Thinkphp3.2实用篇之计算型验证码示例
2017/02/09 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
js树形控件脚本代码
2008/07/24 Javascript
JavaScript 拖拉缩放效果
2008/12/10 Javascript
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
基于jquery的loading效果实现代码
2010/11/05 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
jQuery基础语法实例入门
2014/12/23 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
2016/06/16 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
使用Vue组件实现一个简单弹窗效果
2018/04/23 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[08:53]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS 选手采访
2021/03/11 DOTA
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
详解Python的Lambda函数与排序
2016/10/25 Python
Django中的Signal代码详解
2018/02/05 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
生日派对邀请函
2014/01/13 职场文书
2015年端午节活动方案
2015/05/05 职场文书
将图片保存到mysql数据库并展示在前端页面的实现代码
2021/05/02 MySQL
8个JS的reduce使用实例和reduce操作方式
2021/10/05 Javascript
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL