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 相关文章推荐
解决phpmyadmin中文乱码问题。。。
Jan 18 PHP
PHP及Zend Engine的线程安全模型分析
Nov 10 PHP
ecshop 批量上传(加入自定义属性)
Mar 20 PHP
php内存缓存实现方法
Jan 24 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
一波PHP中cURL库的常见用法代码示例
May 06 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
Jun 11 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
PHP生成随机数的方法总结
Mar 01 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 PHP
PHP中echo与print区别点整理
Mar 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
Discuz 5.0 中读取纯真IP数据库函数分析
2007/03/16 PHP
使用php实现截取指定长度
2013/08/06 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
php动态变量定义及使用
2015/06/10 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
2012/02/03 Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
2013/01/11 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
一个JavaScript递归实现反转数组字符串的实例
2014/10/14 Javascript
javascript闭包(Closure)用法实例简析
2015/11/30 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
jquery validate表单验证插件
2016/09/06 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
python Celery定时任务的示例
2018/03/13 Python
python散点图实例之随机漫步
2018/08/27 Python
python实现顺时针打印矩阵
2019/03/02 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
2020/10/18 Python
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
密封类可以有虚函数吗
2014/08/11 面试题
快餐公司创业计划书
2014/04/29 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
幼儿园六一亲子活动方案
2014/08/26 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
肖申克救赎观后感
2015/06/02 职场文书
2016年小学生清明节广播稿
2015/12/17 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
《火烧云》教学反思
2016/02/23 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript