首頁  >  文章  >  後端開發  >  php header什麼意思

php header什麼意思

藏色散人
藏色散人原創
2021-02-28 09:06:183510瀏覽

header的意思為標頭,是php中的內建http函數,用於傳送原始的HTTP封包頭,其使用語法為「header(string,replace,http_response_code)」;其中參數string規定要傳送的報頭字串。 header常用來通知瀏覽器頁面不存在,延遲轉向、表示內容類型、聲明下載檔案、對目前文件停用快取、顯示一個需要驗證的登陸對話方塊等等。

php 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(&#39;Location: http://www.example.com/&#39;);
?>

語法

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=&#39;downloaded.pdf&#39;");
// PDF 源在 original.pdf 中
readfile("original.pdf");
?>
<html>
<body>
...
...

註解:微軟IE 5.5 存在一個阻止以上機制的bug。透過升級為 Service Pack 2 或更高的版本,可以解決該 bug。

【推薦學習:《PHP影片教學》】

以上是php header什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn