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中动态显示签名和ip原理
Mar 28 PHP
php代码把全角数字转为半角数字
Dec 10 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
May 16 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
微信公众平台接口开发入门示例
Dec 24 PHP
PHP利用APC模块实现文件上传进度条的方法
Jan 26 PHP
php 使用array函数实现分页
Feb 13 PHP
php中使用gd库实现远程图片下载实例
May 12 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
Jul 15 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
PHP的curl函数的用法总结
Feb 14 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
老机欣赏|中国60年代精品收音机
2021/03/02 无线电
php session劫持和防范的方法
2013/11/12 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
javascript eval和JSON之间的联系
2009/12/31 Javascript
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
2013/05/15 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
jQuery设置指定网页元素宽度和高度的方法
2015/03/25 Javascript
javascript结合canvas实现图片旋转效果
2015/05/03 Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
2017/03/21 jQuery
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
使用javascript做在线算法编程
2018/05/25 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
让 python 命令行也可以自动补全
2014/11/30 Python
在Lighttpd服务器中运行Django应用的方法
2015/07/22 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
毕业生机械建模求职信
2013/10/14 职场文书
《会变的花树叶》教学反思
2014/02/10 职场文书
党员服务承诺书
2014/05/28 职场文书
2014年底工作总结
2014/12/15 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
乌镇导游词
2015/02/02 职场文书
网吧温馨提示
2015/07/17 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书
中国现代文学之经典散文三篇
2019/09/18 职场文书
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android