PHP中的header函數是一個非常強大的函數,它可以用來發送HTTP頭。很多人在學習PHP時不太理解header函數的威力,今天我們就來探討一下header帶的內容。
header帶的內容有許多種,下面我們來詳細地講一講它們。
1、Content-type
Content-type用于設定發送的數據的類型,例如,當我們發送HTML頁面時,我們需要使用Content-type:text/html,當我們發送XML時,我們需要使用Content-type:text/xml,當我們發送jpg圖片時,我們需要使用Content-type:image/jpeg。
下面是一段示例代碼:
將文本框的值發送給php,php返回一個jpg圖片,設置Content-type為image/jpeg
if (isset($_POST['text'])) { $text = $_POST['text']; // 在這里處理圖片 header('Content-type:image/jpeg'); // 在這里輸出圖片 }2、Cache-control Cache-control用于設置緩存的方式,例如,當我們要設置頁面不被緩存時,我們需要使用Cache-control:no-cache,當我們要設置頁面可以被緩存時,我們需要使用Cache-control:public。 下面是一段示例代碼:
設置頁面不被緩存
header('Cache-control:no-cache');3、Location Location用于重定向到另一個頁面,例如,當我們要重定向到index.php頁面時,我們需要使用Location:index.php。 下面是一段示例代碼:
重定向到index.php頁面
header('Location:index.php');上面我們已經講了三個常用的內容了,下面我們繼續講一些其他的內容。 4、Expires Expires用于設置資源的過期時間,例如,我們可以設置一個CSS文件過期的時間為30天。 下面是一段示例代碼:
設置一個CSS文件過期的時間為30天
header('Cache-control:max-age=2592000'); // 2592000是30天的秒數5、Content-Disposition Content-Disposition用于設定如何呈現資源,例如,我們可以通過Content-Disposition:attachment來告訴瀏覽器以附件的方式打開資源。 下面是一段示例代碼:
設置資源以附件的方式呈現
header('Content-Disposition:attachment; filename="example.jpg"')6、Content-Encoding Content-Encoding用于設定壓縮算法,例如,我們可以使用Content-Encoding:gzip來告訴瀏覽器使用gzip算法來壓縮資源。 下面是一段示例代碼:
使用gzip算法來壓縮資源
header('Content-Encoding:gzip')7、Content-Length Content-Length用于設置資源的長度,例如,當我們發送一個二進制文件時,我們需要使用Content-Length來告訴瀏覽器文件的長度。 下面是一段示例代碼:
設置二進制文件的長度
header('Content-Length:' . filesize('example.exe'));上面我們已經講了七種常用的內容了,它們具有非常重要的作用,大家一定要掌握好。