首頁  >  文章  >  後端開發  >  php中header函數的作用分析

php中header函數的作用分析

黄舟
黄舟原創
2017-11-10 16:16:251808瀏覽

我們在之前的文章中,我們就跟大家介紹過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<span style="font-family: Microsoft YaHei"></span> 指令), 就會希望腳本回應了正確的狀態碼。

    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 ?>
      replace

## 可選參數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、讓使用者取得最新的資料與資料而不是快取

#11reee
>

##########詳細範例######
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跳轉詳細分析

以上是php中header函數的作用分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn