PHP Header 就是 HTTP 頭部,是指在客戶端請求服務器時所帶的數據頂部,通常由瀏覽器發送。而在 PHP 語言中,header 函數可以讓服務器向客戶端(瀏覽器)發送數據,例如 HTTP 狀態碼、重定向、Missive 等信息。header 函數是非常重要的一個 PHP 函數之一,今天我們就來詳細講解一下 header 函數在 PHP 中的基礎應用和常見技巧。
我們常見的一個例子,就是網站的 404 頁面,當用戶訪問不存在的頁面時,服務器就會返回 404 狀態碼,讓瀏覽器顯示指定的 404 頁面。那么如何在 PHP 中使用 header 函數實現這個效果呢?
header('HTTP/1.1 404 Not Found'); header("status: 404 Not Found");上述代碼中,我們使用 header 函數向瀏覽器發送了兩個頭部信息,分別是 HTTP 狀態碼和 status,它們都用來指定當前頁面的狀態。這樣就能夠使瀏覽器正確地顯示 404 頁面了。 除了狀態碼和 status,還有很多其他的 Header 信息,例如瀏覽器的緩存控制、字符集、文件下載等等。下面我們分別來看一下常用的這些 Header 信息。1. 控制瀏覽器緩存
header("Cache-Control: no-cache, must-revalidate"); header("Expires: Sat, 26 Jul 1974 07:54:00 GMT");這段代碼用來控制瀏覽器緩存,緩存分為兩種:公共緩存和私有緩存。公共緩存被多個用戶共享,私有緩存僅被單個用戶使用。上述代碼用了 no-cache 命令,表示每次用戶訪問時都要去服務器端重新獲取資源,不能從本地緩存中讀取。而 Expires 則是用來指定緩存的過期時間,上述代碼指定為 1974 年。2. 指定文檔的字符集
header("Content-Type:text/html; charset=utf-8");上述代碼用來指定返回給瀏覽器的文檔使用的字符集,utf-8 是一種常用的字符集。3. 文件下載
header('Content-type: application/octet-stream'); header('Content-Disposition: attachment; filename="file.jpg"'); readfile('file.jpg');上述代碼用來實現文件下載,在 Content-type 中指定了返回類型為二進制數據流,而 Content-Disposition 則告訴瀏覽器,將文件彈出一個“另存為”對話框,允許用戶下載該文件。 總體來說,header 函數在 PHP 中的應用非常廣泛,在 Web 開發中也是非常重要的一環。尤其在操作 HTTP 頭部方面,header 確實是非常方便靈活的一種工具。掌握 header 函數的基本應用和常見技巧,相信可以讓我們在 PHP 開發中更加得心應手。