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脚本数据库功能详解(下)
Oct 09 PHP
php单件模式结合命令链模式使用说明
Sep 07 PHP
php 常用算法和时间复杂度
Jul 01 PHP
ThinkPHP字符串函数及常用函数汇总
Jul 18 PHP
Drupal简体中文语言包安装教程
Sep 27 PHP
php实现点击可刷新验证码
Nov 07 PHP
PHP邮箱验证示例教程
Jun 01 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
Jun 22 PHP
为何说PHP引用是个坑,要慎用
Apr 02 PHP
PHP基于openssl实现的非对称加密操作示例
Jan 11 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 PHP
php中数组最简单的使用方法
Dec 27 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
Yii中创建自己的Widget实例
2016/01/05 PHP
(function($){...})(jQuery)的意思
2010/07/22 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
jQuery实现的网页换肤效果示例
2016/09/20 Javascript
在一个页面重复使用一个js函数的方法详解
2016/12/26 Javascript
最常见和最有用的字符串相关的方法详解
2017/02/06 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
vue + typescript + video.js实现 流媒体播放 视频监控功能
2019/07/07 Javascript
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python中isnumeric()方法的使用简介
2015/05/19 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
pymysql的简单封装代码实例
2020/01/08 Python
postman和python mock测试过程图解
2020/02/22 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
Keras:Unet网络实现多类语义分割方式
2020/06/11 Python
如何在python中实现线性回归
2020/08/10 Python
详解Python利用configparser对配置文件进行读写操作
2020/11/03 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
白色公司:The White Company
2017/10/11 全球购物
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
.net软件工程师应聘上机试题
2015/03/10 面试题
英文版销售经理个人求职信
2013/11/20 职场文书
工作个人的自我评价
2014/01/14 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
潘婷洗发水广告词
2014/03/14 职场文书
禁毒宣传工作方案
2014/05/23 职场文书
党委班子剖析材料
2014/08/21 职场文书
领导干部群众路线个人对照检查材料思想汇报
2014/09/30 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
python中print格式化输出的问题
2021/04/16 Python