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中的CMS的涵义
Mar 11 PHP
php实现的简单压缩英文字符串的代码
Apr 24 PHP
让PHP以ROOT权限执行系统命令的方法
Feb 10 PHP
php读取mysql乱码,用set names XXX解决的原理分享
Dec 29 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
Sep 28 PHP
html静态页面调用php文件的方法
Nov 13 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
PHP面向对象程序设计方法实例详解
Dec 24 PHP
关于PHP通用返回值设置方法
Mar 31 PHP
PHP实现的随机红包算法示例
Aug 14 PHP
PHP+mysql防止SQL注入的方法小结
Apr 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
博士208HAF收音机实习报告
2021/03/02 无线电
php _autoload自动加载类与机制分析
2012/02/10 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
JavaScript学习笔记整理之引用类型
2016/01/22 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
2017/05/26 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
2017/11/07 Javascript
JS中的防抖与节流及作用详解
2019/04/01 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
[06:15]2016国际邀请赛中国区预选赛单车采访:我顶WINGS
2016/06/27 DOTA
[02:07]2017国际邀请赛中国区预选赛直邀战队前瞻
2017/06/23 DOTA
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
pandas实现选取特定索引的行
2018/04/20 Python
python实现二维插值的三维显示
2018/12/17 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
Canvas制作旋转的太极的示例
2018/03/09 HTML / CSS
瑞典领先的汽车零部件网上零售商:bildelaronline24.se
2017/01/12 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
大学生个人求职信
2014/06/02 职场文书
伊琍体标语
2014/06/25 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书