首頁  >  文章  >  後端開發  >  php header函數怎麼用

php header函數怎麼用

青灯夜游
青灯夜游原創
2019-02-27 11:56:3111736瀏覽

header()函數是PHP中的內建函數,可以用來傳送原始HTTP標頭。以下這篇文章就來帶大家了解header()函數,介紹幾種header()函數的用法,希望對大家有幫助。 【影片教學推薦:PHP教學

php header函數怎麼用

#header()函數

#PHP header()函數的作用:以原始形式將HTTP標頭髮送到客戶端或瀏覽器。在將HTML,XML,JSON或其他輸出發送到瀏覽器或客戶端之前,原始資料與伺服器發出的請求(尤其是HTTP請求)一起作為標頭資訊發送出去。 HTTP標頭提供了關於訊息體(更準確地說是關於請求和回應)中發送的物件所需的資訊。

基本句式:

header( $header, $replace = TRUE, $http_response_code )

參數:header()函數接受三個參數

$header:用於保存標題字串。有兩種類型的標頭調用,第一種是以字串“HTTP /”開頭,用於確定要發送的HTTP狀態代碼;第二種是“Location:”開頭,這是強制性參數。

$replace:用來表示標題應該取代前一個或新增第二個標題,可省略。預設值為True(將替換),如果$replace值為False,則強制使用相同類型的多個標頭。

$http_response_code:用於強制HTTP回應碼為指定值(PHP 4.3及更高版本),可省略。

header()函數的用法

#1、重定向到URL,進行跳躍頁面

#
<?php 
header("Location: http://www.php.cn"); 
exit; 
?>

還可以調整跳轉時間,設定在某個時間後執行跳轉

<?php 
header("Refresh: 5; url= http://www.php.cn"); 
exit; 
?>

#2、設定快取控件,控制瀏覽器的快取

<?php 
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, must-revalidate");//强制不缓存
header("Pragma: no-cache");//禁止本页被缓存
?> 
  
<html> 
    <body> 
        <p>Hello World!</p> 
        <?php 
            var_dump(headers_list()); 
        ?> 
    </body> 
</html>

輸出:

php header函數怎麼用

範例說明:

上面的範例,表示停用緩存,可以幫助瀏覽器防止緩存,讓瀏覽器每次要求本頁時都要到伺服器上取最新版本的內容。

附註:header()函數在範例中多次使用,因為只允許一次傳送一個標頭(自PHP 4.4起),以防止標頭注入攻擊。

3、設定網路檔案的類型、字元編碼、語言、內容長度

//设置简体中文
header("Content-Language: charset=zh-cn");

// 设置内容长度
header(&#39;Content-Length: 39344&#39;);

//设置页面文件是HTML类型,字符集是GB2312,即简体中文
header("Content-type: text/html; charset=GB2312");

//设置页面文件是HTML类型,字符集是utf-8
header("content-type:text/html;charset=utf-8");

4、傳送HTTP狀態

以下是一些常見的HTTP狀態:

<?php
//200 正常状态
header(&#39;HTTP/1.1 200 OK&#39;);

// 301 永久重定向,记得在后面要加重定向地址 Location:$url
header(&#39;HTTP/1.1 301 Moved Permanently&#39;);

// 设置页面304 没有修改
header(&#39;HTTP/1.1 304 Not Modified&#39;);

//401 未经授权:访问由于凭据无效被拒绝,需要进行登录
header(&#39;HTTP/1.1 401 Unauthorized&#39;);

// 403 禁止访问
header(&#39;HTTP/1.1 403 Forbidden&#39;);
 
// 404 错误
header(&#39;HTTP/1.1 404 Not Found&#39;);
// 500 错误
header(&#39;HTTP/1.1 500 Internal Server Error&#39;);
?>

5、執行http驗證,顯示訊息

<?php
header(&#39;HTTP/1.1 401 Unauthorized&#39;);
header(&#39;WWW-Authenticate: Basic realm="登录信息"&#39;);
echo &#39;显示的信息!&#39;;
?>

6、設定頭檔類型,可以用於串流檔案或檔案下載 

header(&#39;Content-Type: application/octet-stream&#39;); //设置内容类型
header(&#39;Content-Disposition: attachment; filename="example.zip"&#39;); //设置MIME用户作为附件
header(&#39;Content-Transfer-Encoding: binary&#39;); //设置传输方式
header(&#39;Content-Length: &#39;.filesize(&#39;example.zip&#39;)); //设置内容长度

以上就是這篇文章的全部內容,希望對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !

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

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