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 相关文章推荐
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
php中fsockopen用法实例
Jan 05 PHP
Thinkphp关闭缓存的方法
Jun 26 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
解读PHP的Yii框架中请求与响应的处理流程
Mar 17 PHP
php实现图片上传时添加文字和图片水印技巧
Apr 18 PHP
PHP多维数组元素操作类的方法
Nov 14 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
PHP中用Trait封装单例模式的实现
Dec 18 PHP
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
Apr 01 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
Drupal7中常用的数据库操作实例
2014/03/02 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
php实现微信发红包功能
2018/07/13 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
javascript prototype 原型链
2009/03/12 Javascript
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
jquery $.ajax各个事件执行顺序
2010/10/15 Javascript
JavaScript下利用fso判断文件是否存在的代码
2010/12/11 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
javascript运动详解
2015/07/06 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
vue.js实现的经典计算器/科学计算器功能示例
2018/07/11 Javascript
在JS循环中使用async/await的方法
2018/10/12 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
浅析使用Python操作文件
2017/07/31 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
PyTorch上实现卷积神经网络CNN的方法
2018/04/28 Python
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
师范生的个人求职信范文
2014/01/04 职场文书
中国古代史学名著《战国策》概述
2019/08/09 职场文书
pycharm代码删除恢复的方法
2021/06/26 Python