首頁  >  文章  >  後端開發  >  php header的作用

php header的作用

angryTom
angryTom原創
2019-08-23 13:26:213925瀏覽

php header的作用

這篇文章主要跟大家介紹PHP header函數的幾大作用,希望能對大家有幫助。

推薦教學:PHP影片教學

#先看看官方文件的定義

( PHP 4, PHP 5, PHP 7)

header — 傳送原生HTTP 頭

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

參數:


#string

  有兩種特別的頭。第一種以"HTTP/"開頭的 (case is not significant),將會被用來計算出將要傳送的HTTP狀態碼。例如在 Apache 伺服器上用 PHP 腳本來處理不存在檔案的請求(使用 ErrorDocument 指令), 就會希望腳本回應了正確的狀態碼。

<?php
     header("HTTP/1.0 404 Not Found");
?>

  第二種特殊情況是"Location:"的頭訊息。它不只把報文傳送給瀏覽器,還會傳回給瀏覽器一個 REDIRECT(302)的狀態碼,除非狀態碼已經事先設定為了201或3xx。

<?php
header("Location: http://www.example.com/"); /* Redirect browser */

/* Make sure that code below does not get executed when we redirect. */
exit;
?>
replace

  選用參數 replace 顯示是否用後面的頭替換前面相同類型的頭。預設會替換。如果傳入 FALSE,就可以強制使相同的頭資訊並存。例如:

<?php
     header(&#39;WWW-Authenticate: Negotiate&#39;);
     header(&#39;WWW-Authenticate: NTLM&#39;, false);
 ?>

http_response_code

  強制指定HTTP回應的值。請注意,這個參數只有在封包字串(string)不為空的情況下才有效。

header函數的常見用處有以下幾點:

#  

1、重定向 

#### ###    header('Location: http://www.example.com/');######  ###2、指定內容:########    header('Content-type#######   〔 : application/pdf');######  ###3、附件:########    header('Content-type: application/pdf');#######        指定內容為附件,指定下載顯示的名字######    header('Content-Disposition: attachment; filename="downloaded.pdf"');######    //開啟文件,並輸出輸出### ####    readfile('original.pdf');######    以上程式碼可以在瀏覽器產生檔案對話方塊的效果######  ###4、讓使用者取得最新的資料和資料而非快取#########    header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1###    header("Expires:1.1###    header("Expires:575, :00 GMT");   // 設定臨界時間###
<?php
header(&#39;HTTP/1.1 200 OK&#39;); // ok 正常访问
header(&#39;HTTP/1.1 404 Not Found&#39;); //通知浏览器 页面不存在
header(&#39;HTTP/1.1 301 Moved Permanently&#39;); //设置地址被永久的重定向 301
header(&#39;Location: http://www.ithhc.cn/&#39;); //跳转到一个新的地址
header(&#39;Refresh: 10; url=http://www.ithhc.cn/&#39;); //延迟转向 也就是隔几秒跳转
header(&#39;X-Powered-By: PHP/6.0.0&#39;); //修改 X-Powered-By信息
header(&#39;Content-language: en&#39;); //文档语言
header(&#39;Content-Length: 1234&#39;); //设置内容长度
header(&#39;Last-Modified: &#39;.gmdate(&#39;D, d M Y H:i:s&#39;, $time).&#39; GMT&#39;); //告诉浏览器最后一次修改时间
header(&#39;HTTP/1.1 304 Not Modified&#39;); //告诉浏览器文档内容没有发生改变
 
###内容类型###
header(&#39;Content-Type: text/html; charset=utf-8&#39;); //网页编码
header(&#39;Content-Type: text/plain&#39;); //纯文本格式
header(&#39;Content-Type: image/jpeg&#39;); //JPG、JPEG 
header(&#39;Content-Type: application/zip&#39;); // ZIP文件
header(&#39;Content-Type: application/pdf&#39;); // PDF文件
header(&#39;Content-Type: audio/mpeg&#39;); // 音频文件 
header(&#39;Content-type: text/css&#39;); //css文件
header(&#39;Content-type: text/javascript&#39;); //js文件
header(&#39;Content-type: application/json&#39;); //json
header(&#39;Content-type: application/pdf&#39;); //pdf
header(&#39;Content-type: text/xml&#39;); //xml
header(&#39;Content-Type: application/x-shockw**e-flash&#39;); //Flash动画
 
######
 
###声明一个下载的文件###
header(&#39;Content-Type: application/octet-stream&#39;);
header(&#39;Content-Disposition: attachment; filename="ITblog.zip"&#39;);
header(&#39;Content-Transfer-Encoding: binary&#39;);
readfile(&#39;test.zip&#39;);
######
 
###对当前文档禁用缓存###
header(&#39;Cache-Control: no-cache, no-store, max-age=0, must-revalidate&#39;);
header(&#39;Expires: Mon, 26 Jul 1997 05:00:00 GMT&#39;);
######
 
###显示一个需要验证的登陆对话框### 
header(&#39;HTTP/1.1 401 Unauthorized&#39;); 
header(&#39;WWW-Authenticate: Basic realm="Top Secret"&#39;); 
######
 
 
###声明一个需要下载的xls文件###
header(&#39;Content-Disposition: attachment; filename=ithhc.xlsx&#39;);
header(&#39;Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&#39;);
header(&#39;Content-Length: &#39;.filesize(&#39;./test.xls&#39;)); 
header(&#39;Content-Transfer-Encoding: binary&#39;); 
header(&#39;Cache-Control: must-revalidate&#39;); 
header(&#39;Pragma: public&#39;); 
readfile(&#39;./test.xls&#39;); 
######
?>

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

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