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中MD5函数使用实例代码
Jun 07 PHP
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
Oct 31 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
Jun 20 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
Jun 28 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
php天翼开放平台短信发送接口实现方法
Dec 22 PHP
curl和libcurl的区别简介
Jul 01 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
Apr 12 PHP
Thinkphp微信公众号支付接口
Aug 04 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
Sep 01 PHP
Laravel学习教程之IOC容器的介绍与用例
Aug 15 PHP
PHP-X系列教程之内置函数的使用示例
Oct 16 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 MySQL与分页效率
2008/06/04 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
php curl选项列表(超详细)
2013/07/01 PHP
php读取大文件示例分享(文件操作类)
2014/04/13 PHP
php购物车实现方法
2015/01/03 PHP
php实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
微信小程序 参数传递实例代码
2017/03/20 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
vue实现tab栏点击高亮效果
2020/08/19 Javascript
10分钟学会js处理json的常用方法
2020/12/06 Javascript
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
Python实现括号匹配方法详解
2020/02/10 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
在vscode中启动conda虚拟环境的思路详解
2020/12/25 Python
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
测绘工程个人的自我评价
2013/11/10 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
Python 批量下载阴阳师网站壁纸
2021/05/19 Python