文档章节

header函数使用

ITCHN
 ITCHN
发布于 2016/11/24 17:50
字数 570
阅读 19
收藏 0

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

----- 用于向客户端发送原生的 HTTP 报头,

注意 

header() 必须在任何实际输出之前调用,不管是普通的 HTML 标签,还是文件或 PHP 输出的空行,空格。这是个常见的错误,例如在通过include,require,或者其访问其他文件里面的函数的时候,如果在header()被调用之前,其中有空格或者空行。

客户机的请求方式格式:是统一资源标识符、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容

服务器响应格式:一个状态行包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

常用实例: 1.实现重定向(状态码302) Location

<?php
header(”Location: http://www.phpddt.com”);
exit; 
?>

注意:@1 Location 和:之间没有空格 @2 在每个重定向之后都必须加上“exit”,避免发生错误后,继续执行。

永久重定向(状态码301)

<?
Header( "HTTP/1.1 301 Moved Permanently" ) ;
Header( "Location: www.phpddt.com" );
?>

2.使用header在某个时间后执行跳转

header('Refresh: 10; url=http://www.example.org/')

10秒后跳转到 http://www.example.org/页面

当然,也可以使用html语法实现
//<meta http-equiv="refresh" content="10;http://www.example.org/ />

3.实现文件下载

header('Content-Type: application/octet-stream');//设置内容类型
header('Content-Disposition: attachment; filename="example.zip"'); //设置MIME用户作为附件下载 如果将                 attachment换成inline意思为在线打开
header('Content-Transfer-Encoding: binary');//设置传输方式
header('Content-Length: '.filesize('example.zip'));//设置内容长度
  // load the file to send:
readfile('example.zip');//读取需要下载的文件

php强制下载application/force-download,将发送HTTP 标头您的浏览器并告诉它下载,而不是在浏览器中运行的文件。 最主要原理是根据:"Content-Type: application/force-download;"和"Content-Disposition: attachment;"来达到目的。 header("Content-Type: application/force-download;"); //告诉浏览器强制下载

4.设置文件内容类型 Content-Type

<?php
header(’Content-Type: text/html; charset=utf-8′);
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-shockw**e-flash'); //Flash动画 
?>

5.状态码 status

页面不存在(404页面)

<?php 
header('HTTP/1.1 404 Not Found'); 
header("status: 404 Not Found"); 
?> 

6.使用header控制浏览器缓存

       header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); //到期时间设为过去的一个时间
  header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");  //最后一次修改时间
  header("Cache-Control: no-cache, no-store, max-age=0, must-revalidate");
  header("Pragma: no-cache");

© 著作权归作者所有

共有 人打赏支持
ITCHN
粉丝 1
博文 97
码字总数 43324
作品 0
石家庄
程序员
PHP 简单方法

使用外部文件 include() require() 两个函数都是引用外部文件,但是include()函数使用时如果出错,PHP会生成一个错误警告,而requir()函数使用出错时,会终止脚本的运行. 注: 使用include函数和r...

scymore
2016/04/29
42
0
ASIHTTPRequest源码简单分析

1.前言 ASIHttprequest 是基于CFNetwork的,由于CFNetwork是比较底层的http库,功能比较少,因此,在ASIHttprequest中实现了http协议中比较多的功能,包括代理、gzip、认证、缓存等等。目前,...

kingsOSZT
2015/12/30
20
0
PHP URL 重定向 的三种方法(转)

[使用header()函数】 PHP的HTTP相关函数种提供了一个 header()函数,首先要清楚,header()函数必须放在php程序的开头部分,而且之前不能有另外的 header() 函数或者 setcookie() 被调用,如果...

Luca13
2012/07/26
0
0
Spring框架 - IoC容器依赖注入

依赖注入 强依赖 如果我们这里需要更换成为十字刀类,我们就需要重新编译程序 如果我们这里需要修改实现类的属性和参数 这种情况下Header与具体实现类,产生强依赖。只能通过修改代码,才能够...

抢小孩糖吃
2016/10/13
21
0
PHP_header location 使用注意事项

header("Location:login.php")应该注意的几个问题 header("Location:")作为php的转向语句。其实在使用中,他有几点需要注意的地方。 1、要求header前没有任何输出 但是很多时候在header前我们...

喵王不瞌睡
2015/02/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

arts-week5

Algorithm 824. Goat Latin - LeetCode 152. Maximum Product Subarray - LeetCode 110. Balanced Binary Tree - LeetCode 67. Two Sum II - Input array is sorted - LeetCode 665. Non-dec......

yysue
24分钟前
0
0
iOS开发之AddressBook框架详解

iOS开发之AddressBook框架详解 一、写在前面 首先,AddressBook框架是一个已经过时的框架,iOS9之后官方提供了Contacts框架来进行用户通讯录相关操作。尽管如此,AddressBook框架依然是一个非...

珲少
54分钟前
1
0
两年摸爬滚打 Spring Boot,总结了这 16 条最佳实践

Spring Boot是最流行的用于开发微服务的Java框架。在本文中,我将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践。这些内容是基于我的个人经验和一些熟知的Spring Boot...

Java填坑之路
今天
4
0
《Spring5学习》04 - 面向切面编程

一、Spring面向切面编程的基本概念 面向切面编程(即AOP):把项目中需要再多处使用的功能比如日志、安全和事务等集中到一个类中处理,而不用在每个需要用到该功能的地方显式调用。 横切关注...

老韭菜
今天
2
0
day61-20180819-流利阅读笔记

跑道没了,它们还在跑:澳门赛狗业的遗孤 Daniel 2018-08-19 1.今日导读 相信你早就知道香港有个赛马会,可是你听说过香港的邻居澳门原本有个赛狗会吗?其实,对于澳门人来说,赛狗这项活动历...

aibinxiao
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部