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 相关文章推荐
轻松修复Discuz!数据库
May 03 PHP
discuz Passport 通行证 整合笔记
Jun 30 PHP
PHP foreach循环使用详解与实例代码
May 08 PHP
DEDE采集大师官方留后门的删除办法
Jan 08 PHP
模板引擎正则表达式调试小技巧
Jul 20 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
Sep 13 PHP
PHP daddslashes 使用方法介绍
Oct 26 PHP
php文件系统处理方法小结
May 23 PHP
php操作xml并将其插入数据库的实现方法
Sep 08 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
PHP一个简单的无需刷新爬虫
Jan 05 PHP
实例讲解通过​PHP创建数据库
Jan 20 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网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
用javascript获取地址栏参数
2006/12/22 Javascript
JavaScript 原型学习总结
2010/10/29 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
初识Node.js
2015/03/20 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
js表单验证实例讲解
2016/03/31 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
微信小程序 转发功能的实现
2017/08/04 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
vue组件实现进度条效果
2018/06/06 Javascript
python实现二维码扫码自动登录淘宝
2016/12/27 Python
python实现比较文件内容异同
2018/06/22 Python
python 常用的基础函数
2018/07/10 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
python实现粒子群算法
2020/10/15 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
运行时异常与一般异常有何异同?
2014/01/05 面试题
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
经典演讲稿范文
2013/12/30 职场文书
广告学专业求职信
2014/06/19 职场文书
领导班子四风查摆对照检查材料思想汇报
2014/10/05 职场文书
2015年中秋节活动总结
2015/03/23 职场文书
2016感恩父亲节主题广播稿
2015/12/18 职场文书
2019财务毕业实习报告
2019/06/27 职场文书