header的意思為標頭,是php中的內建http函數,用於傳送原始的HTTP封包頭,其使用語法為「header(string,replace,http_response_code)」;其中參數string規定要傳送的報頭字串。 header常用來通知瀏覽器頁面不存在,延遲轉向、表示內容類型、聲明下載檔案、對目前文件停用快取、顯示一個需要驗證的登陸對話方塊等等。
本文操作環境:windows7系統、PHP8版,DELL G3電腦
header的意思為標頭。
php header() 函數傳送原始的HTTP 封包給客戶端,常用來通知瀏覽器頁面不存在,延遲轉向、表示內容類型、宣告下載檔案、對目前文件停用快取、顯示一個需要驗證的登陸對話方塊等等。
header函數常見的聲明於設定:
header('HTTP/1.1 200 OK'); // ok 正常访问 header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在 header('HTTP/1.1 301 Moved Permanently'); //设置地址被永久的重定向 301 header('Location: http://www.ithhc.cn/'); //跳转到一个新的地址 header('Refresh: 10; url=http://www.ithhc.cn/'); //延迟转向 也就是隔几秒跳转 header('X-Powered-By: PHP/6.0.0'); //修改 X-Powered-By信息 header('Content-language: en'); //文档语言 header('Content-Length: 1234'); //设置内容长度 header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); //告诉浏览器最后一次修改时间 header('HTTP/1.1 304 Not Modified'); //告诉浏览器文档内容没有发生改变
認識到一點很重要,即必須在任何實際的輸出被發送之前調用header() 函數(在PHP 4 以及更高的版本中,您可以使用輸出快取來解決此問題):
<html> <?php // 结果出错 // 在调用 header() 之前已存在输出 header('Location: http://www.example.com/'); ?>
語法
header(string,replace,http_response_code)
參數
string 必要。規定要傳送的報頭字串。
replace
可選。指示該報頭是否替換先前的報頭,或新增第二個報頭。
預設是 true(替換)。 false(允許相同類型的多個報頭)。
http_response_code 可選。強制 HTTP 回應代碼為指定的值。 (PHP 4 以及更高版本可用)
註解:從 PHP 4.4 之後,此函數防止一次發送多個標頭。這是對頭部注入攻擊的保護措施。
範例
範例 1
<?php // Date in the past header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache"); header("Pragma: no-cache"); ?> <html> <body> ... ...
#註解:使用者可能會設定一些選項來變更瀏覽器的預設快取設定。透過發送上面的報頭,您可以覆蓋任何這些設置,強制瀏覽器不進行快取!
範例2
提示使用者儲存一個產生的PDF 檔案(Content-Disposition 標頭用於提供一個建議的檔案名,並強制瀏覽器顯示儲存對話方塊):
<?php header("Content-type:application/pdf"); // 文件将被称为 downloaded.pdf header("Content-Disposition:attachment;filename='downloaded.pdf'"); // PDF 源在 original.pdf 中 readfile("original.pdf"); ?> <html> <body> ... ...
註解:微軟IE 5.5 存在一個阻止以上機制的bug。透過升級為 Service Pack 2 或更高的版本,可以解決該 bug。
【推薦學習:《PHP影片教學》】
以上是php header什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!