1. 程式人生 > >header() 函式的用法和作用

header() 函式的用法和作用

定義和用法

header() 函式向客戶端傳送原始的 HTTP 報頭。

認識到一點很重要,即必須在任何實際的輸出被髮送之前呼叫 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>

<?php
header('Content-type: application/image/pjpeg');//輸出的型別
header('Content-Disposition: attachment; filename="downloaded.jpg"'); //下載顯示的名字,注意格式
readfile('my.jpg');
// 並將這個檔案以前面header傳送資訊設定的型別輸出,從而會彈出一個下載框
// 就是把伺服器上的my.jpg下載下來,下載顯示和儲存的名字預設是downloaded.jpg
?> 附帶文件型別及伺服器響應類別
一共兩個版本.
文件型別   和 伺服器響應HTTP的型別
上面的這個可以在上傳檔案的型別中對應上.下面的差了點.(原文下面的是用來寫在檔案頭上的.來確定該檔案是什麼型別.)

  'chm'=>'application/octet-stream',
    'ppt'=>'application/vnd.ms-powerpoint',
    'xls'=>'application/vnd.ms-excel',
    'doc'=>'application/msword',
    'exe'=>'application/octet-stream',
    'rar'=>'application/octet-stream',
    'js'=>"javascrīpt/js",
    'css'=>"text/css",
    'hqx'=>"application/mac-binhex40",
    'bin'=>"application/octet-stream",
    'oda'=>"application/oda",
    'pdf'=>"application/pdf",
    'ai'=>"application/postsrcipt",
    'eps'=>"application/postsrcipt",
    'es'=>"application/postsrcipt",
    'rtf'=>"application/rtf",
    'mif'=>"application/x-mif",
    'csh'=>"application/x-csh",
    'dvi'=>"application/x-dvi",
    'hdf'=>"application/x-hdf",
    'nc'=>"application/x-netcdf",
    'cdf'=>"application/x-netcdf",
    'latex'=>"application/x-latex",
    'ts'=>"application/x-troll-ts",
    'src'=>"application/x-wais-source",
    'zip'=>"application/zip",
    'bcpio'=>"application/x-bcpio",
    'cpio'=>"application/x-cpio",
    'gtar'=>"application/x-gtar",
    'shar'=>"application/x-shar",
    'sv4cpio'=>"application/x-sv4cpio",
    'sv4crc'=>"application/x-sv4crc",
    'tar'=>"application/x-tar",
    'ustar'=>"application/x-ustar",
    'man'=>"application/x-troff-man",
    'sh'=>"application/x-sh",
    'tcl'=>"application/x-tcl",
    'tex'=>"application/x-tex",
    'texi'=>"application/x-texinfo",
    'texinfo'=>"application/x-texinfo",
    't'=>"application/x-troff",
    'tr'=>"application/x-troff",
    'roff'=>"application/x-troff",
    'shar'=>"application/x-shar",
    'me'=>"application/x-troll-me",
    'ts'=>"application/x-troll-ts",
    'gif'=>"image/gif",
    'jpeg'=>"image/pjpeg",
    'jpg'=>"image/pjpeg",
    'jpe'=>"image/pjpeg",
    'ras'=>"image/x-cmu-raster",
    'pbm'=>"image/x-portable-bitmap",
    'ppm'=>"image/x-portable-pixmap",
    'xbm'=>"image/x-xbitmap",
    'xwd'=>"image/x-xwindowdump",
    'ief'=>"image/ief",
    'tif'=>"image/tiff",
    'tiff'=>"image/tiff",
    'pnm'=>"image/x-portable-anymap",
    'pgm'=>"image/x-portable-graymap",
    'rgb'=>"image/x-rgb",
    'xpm'=>"image/x-xpixmap",
    'txt'=>"text/plain",
    'c'=>"text/plain",
    'cc'=>"text/plain",
    'h'=>"text/plain",
    'html'=>"text/html",
    'htm'=>"text/html",
    'htl'=>"text/html",
    'rtx'=>"text/richtext",
    'etx'=>"text/x-setext",
    'tsv'=>"text/tab-separated-values",
    'mpeg'=>"video/mpeg",
    'mpg'=>"video/mpeg",
    'mpe'=>"video/mpeg",
    'avi'=>"video/x-msvideo",
    'qt'=>"video/quicktime",
    'mov'=>"video/quicktime",
    'moov'=>"video/quicktime",
    'movie'=>"video/x-sgi-movie",
    'au'=>"audio/basic",
    'snd'=>"audio/basic",
    'wav'=>"audio/x-wav",
    'aif'=>"audio/x-aiff",
    'aiff'=>"audio/x-aiff",
    'aifc'=>"audio/x-aiff",
    'swf'=>"application/x-shockwave-flash"
    'myz'=>"application/myz"


".*"="application/octet-stream"
".001"="application/x-001"
".301"="application/x-301"
".323"="text/h323"
".906"="application/x-906"
".907"="drawing/907"
".a11"="application/x-a11"
".acp"="audio/x-mei-aac"
".ai"="application/postscript"
".aif"="audio/aiff"
".aifc"="audio/aiff"
".aiff"="audio/aiff"
".anv"="application/x-anv"
".asa"="text/asa"
".asf"="video/x-ms-asf"
".asp"="text/asp"
".asx"="video/x-ms-asf"
".au"="audio/basic"
".avi"="video/avi"
".awf"="application/vnd.adobe.workflow"
".biz"="text/xml"
".bmp"="application/x-bmp"
".bot"="application/x-bot"
".c4t"="application/x-c4t"
".c90"="application/x-c90"
".cal"="application/x-cals"
".cat"="application/vnd.ms-pki.seccat"
".cdf"="application/x-netcdf"
".cdr"="application/x-cdr"
".cel"="application/x-cel"
".cer"="application/x-x509-ca-cert"
".cg4"="application/x-g4"
".cgm"="application/x-cgm"
".cit"="application/x-cit"
".class"="java/*"
".cml"="text/xml"
".cmp"="application/x-cmp"
".cmx"="application/x-cmx"
".cot"="application/x-cot"
".crl"="application/pkix-crl"
".crt"="application/x-x509-ca-cert"
".csi"="application/x-csi"
".css"="text/css"
".cut"="application/x-cut"
".dbf"="application/x-dbf"
".dbm"="application/x-dbm"
".dbx"="application/x-dbx"
".dcd"="text/xml"
".dcx"="application/x-dcx"
".der"="application/x-x509-ca-cert"
".dgn"="application/x-dgn"
".dib"="application/x-dib"
".dll"="application/x-msdownload"
".doc"="application/msword"
".dot"="application/msword"
".drw"="application/x-drw"
".dtd"="text/xml"
".dwf"="Model/vnd.dwf"
".dwf"="application/x-dwf"
".dwg"="application/x-dwg"
".dxb"="application/x-dxb"
".dxf"="application/x-dxf"
".edn"="application/vnd.adobe.edn"
".emf"="application/x-emf"
".eml"="message/rfc822"
".ent"="text/xml"
".epi"="application/x-epi"
".eps"="application/x-ps"
".eps"="application/postscript"
".etd"="application/x-ebx"
".exe"="application/x-msdownload"
".fax"="image/fax"
".fdf"="application/vnd.fdf"
".fif"="application/fractals"
".fo"="text/xml"
".frm"="application/x-frm"
".g4"="application/x-g4"
".gbr"="application/x-gbr"
".gcd"="application/x-gcd"
".gif"="image/gif"
".gl2"="application/x-gl2"
".gp4"="application/x-gp4"
".hgl"="application/x-hgl"
".hmr"="application/x-hmr"
".hpg"="application/x-hpgl"
".hpl"="application/x-hpl"
".hqx"="application/mac-binhex40"
".hrf"="application/x-hrf"
".hta"="application/hta"
".htc"="text/x-component"
".htm"="text/html"
".html"="text/html"
".htt"="text/webviewhtml"
".htx"="text/html"
".icb"="application/x-icb"
".ico"="image/x-icon"
".ico"="application/x-ico"
".iff"="application/x-iff"
".ig4"="application/x-g4"
".igs"="application/x-igs"
".iii"="application/x-iphone"
".img"="application/x-img"
".ins"="application/x-internet-signup"
".isp"="application/x-internet-signup"
".IVF"="video/x-ivf"
".java"="java/*"
".jfif"="image/jpeg"
".jpe"="image/jpeg"
".jpe"="application/x-jpe"
".jpeg"="image/jpeg"
".jpg"="image/jpeg"
".jpg"="application/x-jpg"
".js"="application/x-javascript"
".jsp"="text/html"
".la1"="audio/x-liquid-file"
".lar"="application/x-laplayer-reg"
".latex"="application/x-latex"
".lavs"="audio/x-liquid-secure"
".lbm"="application/x-lbm"
".lmsff"="audio/x-la-lms"
".ls"="application/x-javascript"
".ltr"="application/x-ltr"
".m1v"="video/x-mpeg"
".m2v"="video/x-mpeg"
".m3u"="audio/mpegurl"
".m4e"="video/mpeg4"
".mac"="application/x-mac"
".man"="application/x-troff-man"
".math"="text/xml"
".mdb"="application/msaccess"
".mdb"="application/x-mdb"
".mfp"="application/x-shockwave-flash"
".mht"="message/rfc822"
".mhtml"="message/rfc822"
".mi"="application/x-mi"
".mid"="audio/mid"
".midi"="audio/mid"
".mil"="application/x-mil"
".mml"="text/xml"
".mnd"="audio/x-musicnet-download"
".mns"="audio/x-musicnet-stream"
".mocha"="application/x-javascript"
".movie"="video/x-sgi-movie"
".mp1"="audio/mp1"
".mp2"="audio/mp2"
".mp2v"="video/mpeg"
".mp3"="audio/mp3"
".mp4"="video/mpeg4"
".mpa"="video/x-mpg"
".mpd"="application/vnd.ms-project"
".mpe"="video/x-mpeg"
".mpeg"="video/mpg"
".mpg"="video/mpg"
".mpga"="audio/rn-mpeg"
".mpp"="application/vnd.ms-project"
".mps"="video/x-mpeg"
".mpt"="application/vnd.ms-project"
".mpv"="video/mpg"
".mpv2"="video/mpeg"
".mpw"="application/vnd.ms-project"
".mpx"="application/vnd.ms-project"
".mtx"="text/xml"
".mxp"="application/x-mmxp"
".net"="image/pnetvue"
".nrf"="application/x-nrf"
".nws"="message/rfc822"
".odc"="text/x-ms-odc"
".out"="application/x-out"
".p10"="application/pkcs10"
".p12"="application/x-pkcs12"
".p7b"="application/x-pkcs7-certificates"
".p7c"="application/pkcs7-mime"
".p7m"="application/pkcs7-mime"
".p7r"="application/x-pkcs7-certreqresp"
".p7s"="application/pkcs7-signature"
".pc5"="application/x-pc5"
".pci"="application/x-pci"
".pcl"="application/x-pcl"
".pcx"="application/x-pcx"
".pdf"="application/pdf"
".pdf"="application/pdf"
".pdx"="application/vnd.adobe.pdx"
".pfx"="application/x-pkcs12"
".pgl"="application/x-pgl"
".pic"="application/x-pic"
".pko"="application/vnd.ms-pki.pko"
".pl"="application/x-perl"
".plg"="text/html"
".pls"="audio/scpls"
".plt"="application/x-plt"
".png"="image/png"
".png"="application/x-png"
".pot"="application/vnd.ms-powerpoint"
".ppa"="application/vnd.ms-powerpoint"
".ppm"="application/x-ppm"
".pps"="application/vnd.ms-powerpoint"
".ppt"="application/vnd.ms-powerpoint"
".ppt"="application/x-ppt"
".pr"="application/x-pr"
".prf"="application/pics-rules"
".prn"="application/x-prn"
".prt"="application/x-prt"
".ps"="application/x-ps"
".ps"="application/postscript"
".ptn"="application/x-ptn"
".pwz"="application/vnd.ms-powerpoint"
".r3t"="text/vnd.rn-realtext3d"
".ra"="audio/vnd.rn-realaudio"
".ram"="audio/x-pn-realaudio"
".ras"="application/x-ras"
".rat"="application/rat-file"
".rdf"="text/xml"
".rec"="application/vnd.rn-recording"
".red"="application/x-red"
".rgb"="application/x-rgb"
".rjs"="application/vnd.rn-realsystem-rjs"
".rjt"="application/vnd.rn-realsystem-rjt"
".rlc"="application/x-rlc"
".rle"="application/x-rle"
".rm"="application/vnd.rn-realmedia"
".rmf"="application/vnd.adobe.rmf"
".rmi"="audio/mid"
".rmj"="application/vnd.rn-realsystem-rmj"
".rmm"="audio/x-pn-realaudio"
".rmp"="application/vnd.rn-rn_music_package"
".rms"="application/vnd.rn-realmedia-secure"
".rmvb"="application/vnd.rn-realmedia-vbr"
".rmx"="application/vnd.rn-realsystem-rmx"
".rnx"="application/vnd.rn-realplayer"
".rp"="image/vnd.rn-realpix"
".rpm"="audio/x-pn-realaudio-plugin"
".rsml"="application/vnd.rn-rsml"
".rt"="text/vnd.rn-realtext"
".rtf"="application/msword"
".rtf"="application/x-rtf"
".rv"="video/vnd.rn-realvideo"
".sam"="application/x-sam"
".sat"="application/x-sat"
".sdp"="application/sdp"
".sdw"="application/x-sdw"
".sit"="application/x-stuffit"
".slb"="application/x-slb"
".sld"="application/x-sld"
".slk"="drawing/x-slk"
".smi"="application/smil"
".smil"="application/smil"
".smk"="application/x-smk"
".snd"="audio/basic"
".sol"="text/plain"
".sor"="text/plain"
".spc"="application/x-pkcs7-certificates"
".spl"="application/futuresplash"
".spp"="text/xml"
".ssm"="application/streamingmedia"
".sst"="application/vnd.ms-pki.certstore"
".stl"="application/vnd.ms-pki.stl"
".stm"="text/html"
".sty"="application/x-sty"
".svg"="text/xml"
".swf"="application/x-shockwave-flash"
".tdf"="application/x-tdf"
".tg4"="application/x-tg4"
".tga"="application/x-tga"
".tif"="image/tiff"
".tif"="application/x-tif"
".tiff"="image/tiff"
".tld"="text/xml"
".top"="drawing/x-top"
".torrent"="application/x-bittorrent"
".tsd"="text/xml"
".txt"="text/plain"
".uin"="application/x-icq"
".uls"="text/iuls"
".vcf"="text/x-vcard"
".vda"="application/x-vda"
".vdx"="application/vnd.visio"
".vml"="text/xml"
".vpg"="application/x-vpeg005"
".vsd"="application/vnd.visio"
".vsd"="application/x-vsd"
".vss"="application/vnd.visio"
".vst"="application/vnd.visio"
".vst"="application/x-vst"
".vsw"="application/vnd.visio"
".vsx"="application/vnd.visio"
".vtx"="application/vnd.visio"
".vxml"="text/xml"
".wav"="audio/wav"
".wax"="audio/x-ms-wax"
".wb1"="application/x-wb1"
".wb2"="application/x-wb2"
".wb3"="application/x-wb3"
".wbmp"="image/vnd.wap.wbmp"
".wiz"="application/msword"
".wk3"="application/x-wk3"
".wk4"="application/x-wk4"
".wkq"="application/x-wkq"
".wks"="application/x-wks"
".wm"="video/x-ms-wm"
".wma"="audio/x-ms-wma"
".wmd"="application/x-ms-wmd"
".wmf"="application/x-wmf"
".wml"="text/vnd.wap.wml"
".wmv"="video/x-ms-wmv"
".wmx"="video/x-ms-wmx"
".wmz"="application/x-ms-wmz"
".wp6"="application/x-wp6"
".wpd"="application/x-wpd"
".wpg"="application/x-wpg"
".wpl"="application/vnd.ms-wpl"
".wq1"="application/x-wq1"
".wr1"="application/x-wr1"
".wri"="application/x-wri"
".wrk"="application/x-wrk"
".ws"="application/x-ws"
".ws2"="application/x-ws"
".wsc"="text/scriptlet"
".wsdl"="text/xml"
".wvx"="video/x-ms-wvx"
".xdp"="application/vnd.adobe.xdp"
".xdr"="text/xml"
".xfd"="application/vnd.adobe.xfd"
".xfdf"="application/vnd.adobe.xfdf"
".xhtml"="text/html"
".xls"="application/vnd.ms-excel"
".xls"="application/x-xls"
".xlw"="application/x-xlw"
".xml"="text/xml"
".xpl"="audio/scpls"
".xq"="text/xml"
".xql"="text/xml"
".xquery"="text/xml"
".xsd"="text/xml"
".xsl"="text/xml"
".xslt"="text/xml"
".xwd"="application/x-xwd"
".x_b"="application/x-x_b"
".x_t"="application/x-x_t"
".myz"="application/myz"

header()函式使用補充說明:  


一、作用:  
~~~~~~~~~  
       PHP只是以HTTP協議將HTML文件的標頭送到瀏覽器,告訴瀏覽器具體怎麼處理這個頁面,至於傳送的內容則需要熟悉一下HTTP協議了,與PHP無關了,可參照http://www.w3.org/Protocols/rfc2616/rfc2616。  
       傳統的標頭一定包含下面三種標頭之一,並只能出現一次。  
       Location:  xxxx:yyyy/zzzz  
       Content-Type:  xxxx/yyyy  
       Status:  nnn  xxxxxx  

二、先來了解一下HTTP協議的運作方式
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
       HTTP協議是基於請求/響應正規化的。一個客戶機與伺服器建立連線後,傳送一個請求給伺服器,請求方式的格式為,統一資源識別符號、協議版本號,後邊是MIME資訊包括請求修飾符、客戶機資訊和可能的內容。伺服器接到請求後,給予相應的響應資訊,其格式為一個狀態行包括資訊的協議版本號、一個成功或錯誤的程式碼,後邊是MIME資訊包括伺服器資訊、實體資訊和可能的內容。  
       它分四個過程,在HTTP協議中,服務端是指提供HTTP服務的部分,客戶端是指你使用的瀏覽器或者下載工具等等。在通訊時,由客戶端發出請求連線,服務端建立連線;然後,客戶端發出HTTP請求(Request),服務端返回響應資訊(Respond),由此完成一個HTTP操作。  

三、HTTP協議狀態碼錶示的意思
~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  1××  保留  
  2××  表示請求成功地接收  
  3××  為完成請求客戶需進一步細化請求  
  4××  客戶錯誤  
  5××  伺服器錯誤  

四、操作例項:
~~~~~~~~~~~~~  
   <1>  重定向功能,這種最常見   
複製程式碼 程式碼如下:
<?php
Header("Location: http://www.php.net");
?>


   <2>  強制使用者每次訪問這個頁面時獲取最新資料,而不是使用存在客戶端的快取。   
複製程式碼 程式碼如下:
<?php
//告訴瀏覽器此頁面的過期時間(用格林威治時間表示),只要是已經過去的日期即可。
header("Expires: Mon, 26 Jul 1970 05:00:00 GMT");
//告訴瀏覽器此頁面的最後更新日期(用格林威治時間表示)也就是當天,目的就是強迫瀏覽器獲取最新資料
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
//告訴客戶端瀏覽器不使用快取
header("Cache-Control: no-cache, must-revalidate");
//引數(與以前的伺服器相容),即相容HTTP1.0協議
header("Pragma: no-cache");
//輸出MIME型別
header("Content-type: application/file");
//檔案長度
header("Content-Length: 227685");
//接受的範圍單位
header("Accept-Ranges: bytes");
//預設時檔案儲存對話方塊中的檔名稱
header("Content-Disposition: attachment; filename=$filename");
?>


   <3>  輸出狀態值到瀏覽器,主要用於訪問許可權控制   
複製程式碼 程式碼如下:
<?php
header('HTTP/1.1 401 Unauthorized');
header('status: 401 Unauthorized');
?>

           比如要限制一個使用者不能訪問該頁,則可設定狀態為404,如下所示,這樣瀏覽器就顯示為即該頁不存在  
複製程式碼 程式碼如下:
<?php
header('HTTP/1.1 404 Not Found');
header("status: 404 Not Found");
?> 

設定常用的content-type:

  1. //定義編碼
  2. header( 'Content-Type:text/html;charset=utf-8 ');  
  3. //Atom
  4. header('Content-type: application/atom+xml');  
  5. //CSS
  6. header('Content-type: text/css');  
  7. //Javascript
  8. header('Content-type: text/javascript');  
  9. //JPEG Image
  10. header('Content-type: image/jpeg');  
  11. //JSON
  12. header('Content-type: application/json');  
  13. //PDF
  14. header('Content-type: application/pdf');  
  15. //RSS
  16. header('Content-Type: application/rss+xml; charset=ISO-8859-1');  
  17. //Text (Plain)
  18. header('Content-type: text/plain');  
  19. //XML
  20. header('Content-type: text/xml');  
  21. // ok
  22. header('HTTP/1.1 200 OK');  
  23. //設定一個404頭:
  24. header('HTTP/1.1 404 Not Found');  
  25. //設定地址被永久的重定向
  26. header('HTTP/1.1 301 Moved Permanently');  
  27. //轉到一個新地址
  28. header('Location: http://www.example.org/');  
  29. //檔案延遲轉向:
  30. header('Refresh: 10; url=http://www.example.org/');  
  31. print 'You will be redirected in 10 seconds';  
  32. //當然,也可以使用html語法實現
  33. // <meta http-equiv="refresh" content="10;http://www.example.org/ />
  34. // override X-Powered-By: PHP:
  35. header('X-Powered-By: PHP/4.4.0');  
  36. header('X-Powered-By: Brain/0.6b');  
  37. //文件語言
  38. header('Content-language: en');  
  39. //告訴瀏覽器最後一次修改時間
  40. $time = time() - 60; // or filemtime($fn), etc
  41. header('Last-Modified: '.gmdate('D, d M Y H:i:s'$time).' GMT');  
  42. //告訴瀏覽器文件內容沒有發生改變
  43. header('HTTP/1.1 304 Not Modified');  
  44. //設定內容長度
  45. header('Content-Length: 1234');  
  46. //設定為一個下載型別
  47. header('Content-Type: application/octet-stream');  
  48. header('Content-Disposition: attachment; filename="example.zip"');  
  49. header('Content-Transfer-Encoding: binary');  
  50. // load the file to send:
  51. readfile('example.zip');  
  52. // 對當前文件禁用快取
  53. header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');  
  54. header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
  55. header('Pragma: no-cache');  
  56. //設定內容型別:
  57. header('Content-Type: text/html; charset=iso-8859-1');  
  58. header('Content-Type: text/html; charset=utf-8');  
  59. header('Content-Type: text/plain'); //純文字格式
  60. header('Content-Type: image/jpeg'); //JPG***
  61. header('Content-Type: application/zip'); // ZIP檔案
  62. header('Content-Type: application/pdf'); // PDF檔案
  63. header('Content-Type: audio/mpeg'); // 音訊檔案
  64. header('Content-Type: application/x-shockw**e-flash'); //Flash動畫
  65. //顯示登陸對話方塊
  66. header('HTTP/1.1 401 Unauthorized');  
  67. header('WWW-Authenticate: Basic realm="Top Secret"');  
  68. print 'Text that will be displayed if the user hits cancel or ';  
  69. print 'enters wrong login data';  

下載xlsx檔案
  1. $filename = rtrim($_SERVER['DOCUMENT_ROOT'],'/').'/app/files/payment_status.csv';  
  2. header('Content-Disposition: attachment; filename=payment_status.xlsx');  
  3. header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');  
  4. header('Content-Length: ' . filesize($filename));  
  5. header('Content-Transfer-Encoding: binary');  
  6. header('Cache-Control: must-revalidate');  
  7. header('Pragma: public');  
  8. readfile($filename);