Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php中header函数的作用分析

php中header函数的作用分析

黄舟
黄舟asal
2017-11-10 16:16:251746semak imbas

我们在之前的文章中,我们就给大家介绍过header头部定义、那么很多人看到标题就会问之前不是介绍过了是向客户端发送原始的 HTTP 报头的吗?真的是这样的吗?今天我们就带大家看看php中的header函数的作用有哪些?

先看看官方文档的定义

(PHP 4, PHP 5, PHP 7)

header — 发送原生 HTTP 头

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

参数:

  string

    有两种特别的头。第一种以"HTTP/"开头的 (case is not significant),将会被用来计算出将要发送的HTTP状态码。 例如在 Apache 服务器上用 PHP 脚本来处理不存在文件的请求(使用 ErrorDocument 指令), 就会希望脚本响应了正确的状态码。

1 <?php
2 header("HTTP/1.0 404 Not Found");
3 ?>

    第二种特殊情况是"Location:"的头信息。它不仅把报文发送给浏览器,而且还将返回给浏览器一个 REDIRECT(302)的状态码,除非状态码已经事先被设置为了201或者3xx

1 <?php
2 header("Location: http://www.example.com/"); /* Redirect browser */
3 
4 /* Make sure that code below does not get executed when we redirect. */
5 exit;
6 ?>
  •   <span style="font-family: Microsoft YaHei">replace</span>

  •  可选参数 replace 表明是否用后面的头替换前面相同类型的头。 默认情况下会替换。如果传入 FALSE,就可以强制使相同的头信息并存。例如:

1 <?php
2 header(&#39;WWW-Authenticate: Negotiate&#39;);
3 header(&#39;WWW-Authenticate: NTLM&#39;, false);
4 ?>

  http_response_code

    强制指定HTTP响应的值。注意,这个参数只有在报文字符串string)不为空的情况下才有效。

header函数的常见用处有以下几点:

  1、重定向

header(&#39;Location: http://www.example.com/&#39;);

  2、指定内容:

header(&#39;Content-type: application/pdf&#39;);

  3、附件:

header(&#39;Content-type: application/pdf&#39;);
    //指定内容为附件,指定下载显示的名字
    header('Content-Disposition: attachment; filename="downloaded.pdf"');
    //打开文件,并输出
    readfile('original.pdf')

              以上代码可以在浏览器产生文件对话框的效果

       4、让用户获取最新的资料和数据而不是缓存

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");   // 设置临界时间

详细例子

总结:

看完本篇文章相信小伙伴们对php中的header函数的作用有哪些了吧,希望对你的工作有所帮助!

相关推荐:

php中关于header头部定义的详解


PHP header函数使用方法讲解


PHP Header失效的原因分析及解决方法


PHP header跳转详细分析

Atas ialah kandungan terperinci php中header函数的作用分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn