首頁 後端開發 php教程 php header函數怎麼用

php header函數怎麼用

Feb 27, 2019 am 11:56 AM
header()函數 php

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

我後悔之前不知道的 7 個 PHP 函數 我後悔之前不知道的 7 個 PHP 函數 Nov 13, 2024 am 09:42 AM

如果您是經驗豐富的PHP 開發人員,您可能會感覺您已經在那裡並且已經完成了。操作

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

在PHP API中說明JSON Web令牌(JWT)及其用例。 在PHP API中說明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

php程序在字符串中計數元音 php程序在字符串中計數元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

解釋PHP中的晚期靜態綁定(靜態::)。 解釋PHP中的晚期靜態綁定(靜態::)。 Apr 03, 2025 am 12:04 AM

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? 什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

See all articles