在PHP中,header函數用於發送原始的HTTP頭信息。一個常見的應用是通過設置Location頭,實現頁面跳轉。
header('Location: https://www.example.com');
exit;
示例中,header函數將Location頭設置為目標URL,隨後用exit停止腳本執行,確保重定向生效。
1. 使用header發送頭信息前,不能有任何輸出,包括空格或換行符。
2. 重定向後腳本不會自動停止,需要手動調用exit或die。
3. Location頭可以指定站內或站外的URL。
header函數還可設置Content-Type、Cache-Control等HTTP響應頭。
header('Content-Type: application/json');
echo json_encode(['name' => 'John', 'age' => 30]);
此示例將響應類型設置為JSON,並輸出對應的JSON數據。
1. 設置響應頭應在任何輸出前調用。
2. Content-Type可根據需求設置為'application/json'、'text/html'等。
通過header函數設置HTTP狀態碼,告訴客戶端請求的處理結果。
header('HTTP/1.1 404 Not Found');
echo 'Sorry, the page you requested could not be found.';
示例設置狀態碼為404,提示頁面未找到。
1. 選擇合適的狀態碼及原因短語非常重要。
2. 未設置時,默認狀態碼為200 OK。
header函數也能設置緩存相關的HTTP頭,優化頁面加載速度。
header('Cache-Control: max-age=3600');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT');
echo 'This page is cached for 1 hour.';
設置緩存有效期為1小時,提升訪問效率。
1. 根據實際需求合理配置緩存指令和參數。
2. Cache-Control與Expires結合使用能更有效控制緩存。
利用header函數設置Content-Disposition,實現文件下載功能。
header('Content-Disposition: attachment; filename="example.txt"');
echo 'This is the content of example.txt file.';
示例中,瀏覽器會彈出下載對話框,保存為example.txt。
1. 確保Content-Disposition和文件名設置正確。
2. 大文件建議逐行讀取輸出,避免內存佔用過高。
本文匯總了PHP中header函數的多種應用場景,包含頁面重定向、響應頭設置、狀態碼配置、緩存控制和文件下載等。掌握這些技巧能讓開發者更靈活地處理HTTP請求與響應,提升網站功能和用戶體驗。