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 相关文章推荐
php4的session功能评述(一)
Oct 09 PHP
php htmlspecialchars加强版
Feb 16 PHP
header中Content-Disposition的作用与使用方法
Jun 13 PHP
PHP字符串中特殊符号的过滤方法介绍
Feb 18 PHP
初识Laravel
Oct 30 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
了解PHP的返回引用和局部静态变量
Jun 04 PHP
php对文件夹进行相关操作(遍历、计算大小)
Nov 04 PHP
PHP链表操作简单示例
Oct 15 PHP
ThinkPHP实现登录退出功能
Jun 29 PHP
PHP实现网站应用微信登录功能详解
Apr 11 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 多行多列显示
2009/08/15 PHP
PHP+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
php 伪静态之IIS篇
2014/06/02 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
Thinkphp3.2.3分页使用实例解析
2016/07/28 PHP
javascript Xml增删改查(IE下)操作实现代码
2009/01/30 Javascript
中止javascript执行的方法
2014/02/14 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
js绘制圆形和矩形的方法
2015/08/05 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
2015/09/19 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
微信小程序实现传参数的几种方法示例
2018/01/10 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
2019/08/27 Javascript
使用webpack搭建vue环境的教程详解
2019/12/31 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
python实现图片批量剪切示例
2014/03/25 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
Python pickle模块实现对象序列化
2019/11/22 Python
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
EJB的激活机制
2013/10/25 面试题
体育教师工作总结的自我评价
2013/10/10 职场文书
竞争上岗演讲稿
2014/01/05 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
高考诚信考试承诺书
2015/04/29 职场文书
2016党校培训心得体会
2016/01/07 职场文书
高一英语教学反思
2016/03/03 职场文书
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js
Golang并发操作中常见的读写锁详析
2021/08/30 Golang