【PHP基础知识】——Header()函数

 前言

 通常我们在PHP文件的入口都会或多或少地设置header函数,或许有些人知道它的作用,有些人只是用来重定向或者设置编码格式。  这里我就来归纳总结一下header函数的作用。


 概述

 PHP的header函数作用在php4-php7的版本中,用于发送原生的 HTTP 头。

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


 参数

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


 用法

1、设置页面编码格式:header("Content-Type: text/html;charset=UTF-8");

2、设置页面无PHP脚本缓存:
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

3、下载对话框:
如果你想提醒用户去保存你发送的数据,例如保存一个生成的PDF文件。你可以使用Content-Disposition的报文信息来提供一个推荐的文件名,并且强制浏览器显示一个文件下载的对话框:
// 读取PDF文件
header('Content-type: application/pdf');

//或者保存PDF文件
header('Content-Disposition: attachment; filename="downloaded.pdf"');

4、重定向网址:header("Location: http://xxx/"); 

 提示

1、你所有需要输出到浏览器的数据将会一直缓存在服务器端,直到你发送他们,这将造成比较大的资源开销。你可以是用输出缓冲来避开这个问题。你可以通过在脚本里使用ob_start()ob_end_flush()或者直接在你的php.ini文件里设置output_buffering,也可以直接在服务器的配置文件里设置。

2、header函数同样可以支持跳转https协议,如:
header("Location: https://www.google.com");

如果需要同时兼容http和https,可以这么写:
header("Location: //www.google.com");

3、通过设置header头允许ajax跨域访问
header('Access-Control-Allow-Origin:http://www.xxx.com');//允许xxx域跨域请求

4、通过设置header头实现跨域访问、设置cookie:
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');

以上即是关于header函数常用的方法归纳和总结,关于跨域问题,可参考以下文章详细了解:
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值