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函数解决SQL injection
Dec 09 PHP
PHP与MySQL开发中页面出现乱码的一种解决方法
Jul 29 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
php中随机显示图片的函数代码
Jun 23 PHP
php curl常见错误:SSL错误、bool(false)
Dec 28 PHP
php不写闭合标签的好处
Mar 04 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 PHP
ThinkPHP入口文件设置及相关注意事项分析
Dec 05 PHP
YII Framework框架教程之安全方案详解
Mar 14 PHP
PHP书写格式详解(必看)
May 23 PHP
Smarty简单生成表单元素的方法示例
May 23 PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 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
聊天室php&amp;mysql(五)
2006/10/09 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
ThinkPHP中处理表单中的注意事项
2014/11/22 PHP
php实现网页端验证码功能
2017/07/11 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
jQuery 选择器理解
2010/03/16 Javascript
js常用排序实现代码
2010/12/28 Javascript
Jquery显示、隐藏元素以及添加删除样式
2013/08/09 Javascript
jquery实现手机发送验证码的倒计时代码
2014/02/12 Javascript
JQuery实现防止退格键返回的方法
2015/02/12 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
Vue.js基础知识汇总
2016/04/27 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
详解基于element的区间选择组件校验(交易金额)
2021/01/07 Javascript
python线程锁(thread)学习示例
2013/12/04 Python
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
python通过yield实现数组全排列的方法
2015/03/18 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
python的staticmethod与classmethod实现实例代码
2018/02/11 Python
python创建文件备份的脚本
2018/09/11 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
python打开windows应用程序的实例
2019/06/28 Python
Django自定义模板过滤器和标签的实现方法
2019/08/21 Python
分享一个pycharm专业版安装的永久使用方法
2019/09/24 Python
python做接口测试的必要性
2019/11/20 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
2021/01/06 Python
2014年法院个人工作总结
2014/12/17 职场文书
毕业实习计划书
2015/01/16 职场文书
党支部书记岗位职责
2015/02/15 职场文书
求职信格式范文
2015/03/19 职场文书
中标通知书
2015/04/17 职场文书
MySQL Server 层四个日志
2022/03/31 MySQL