亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP header() 函數使用方法總結

2024-09-04 11:48:41
字體:
來源:轉載
供稿:網友

header() 函數向客戶端發送原始的 HTTP 報頭,主要包括有HTTP協議的版本、狀態代碼、原因短語等我們常用于跳轉頁面,狀態發送與文件下載,下面我們一起來看看.

header分為三部分:

第一部分為HTTP協議的版本(HTTP-Version);

第二部分為狀態代碼(Status);

第三部分為原因短語(Reason-Phrase);

header()函數使用說明:

一、作用:

PHP只是以HTTP協議將HTML文檔的標頭送到瀏覽器,告訴瀏覽器具體怎么處理這個頁面,至于傳送的內容則需要熟悉一下HTTP協議了,與PHP無關了,可參照.http://www.w3.org/Protocols/rfc2616/rfc2616.

傳統的標頭一定包含下面三種標頭之一,并只能出現一次.

  1. Location:  xxxx:yyyy/zzzz    
  2. Content-Type:  xxxx/yyyy    
  3. Status:  nnn  xxxxxx   

二、先來了解一下HTTP協議的運作方式

HTTP協議是基于請求/響應范式的,一個客戶機與服務器建立連接后,發送一個請求給服務器,請求方式的格式為,統一資源標識符、協議版本號,后邊是MIME信息包括請求修飾符、客戶機信息和可能的內容,服務器接到請求后,給予相應的響應信息,其格式為一個狀態行包括信息的協議版本號、一個成功或錯誤的代碼,后邊是MIME信息包括服務器信息、實體信息和可能的內容.

它分四個過程,在HTTP協議中,服務端是指提供HTTP服務的部分,客戶端是指你使用的瀏覽器或者下載工具等等。在通訊時,由客戶端發出請求連接,服務端建立連接,然后,客戶端發出HTTP請求(Request),服務端返回響應信息(Respond),由此完成一個HTTP操作.

三、HTTP協議狀態碼表示的意思

1××  保留

2××  表示請求成功地接收

3××  為完成請求客戶需進一步細化請求

4××  客戶錯誤

5××  服務器錯誤

例,代碼如下:

  1. // fix 404 pages: 用這個header指令來解決URL重寫產生的404 header 
  2. header(‘HTTP/1.1 200 OK’); 
  3.  
  4. // set 404 header: 頁面沒找到 
  5. header(‘HTTP/1.1 404 Not Found’); 
  6.  
  7. // 頁面被永久刪除,可以告訴seo/seo.html" target="_blank">搜索引擎更新它們的urls 
  8. // set Moved Permanently header (good for redrictions) 
  9. // use with location header 
  10. header(‘HTTP/1.1 301 Moved Permanently’); 
  11. // 訪問受限 
  12. header(‘HTTP/1.1 403 Forbidden’); 
  13. // 服務器錯誤 
  14. header(‘HTTP/1.1 500 Internal Server Error’); 
  15.  
  16. // 重定向到一個新的位置 
  17. // redirect to a new location: 
  18. header(‘Location: http://www.m-bang.com); 
  19.  
  20. 延遲一段時間后重定向 
  21. // redrict with delay: 
  22. header(‘Refresh: 10; url=http://www.sina.com.cn’); 
  23. print ‘You will be redirected in 10 seconds’; 
  24.  
  25. // 覆蓋 X-Powered-By value 
  26. // override X-Powered-By: PHP: 
  27. header(‘X-Powered-By: PHP/4.4.0′); 
  28. header(‘X-Powered-By: Brain/0.6b’); 
  29.  
  30. // 內容語言 (en = English) 
  31. // content language (en = English) 
  32. header(‘Content-language: en’); 
  33.  
  34. //最后修改時間 (在緩存的時候可以用到) 
  35. // last modified (good for caching) 
  36. $time = time() – 60; // or filemtime($fn), etc 
  37. header(‘Last-Modified: ‘.gmdate(‘D, d M Y H:i:s’, $time).’ GMT’); 
  38.  
  39. // 告訴瀏覽器要獲取的內容還沒有更新 
  40. // header for telling the browser that the content 
  41. // did not get changed 
  42. header(‘HTTP/1.1 304 Not Modified’); 
  43.  
  44. // 設置內容的長度 (緩存的時候可以用到): 
  45. // set content length (good for caching): 
  46. header(‘Content-Length: 1234′); 
  47.  
  48. // 用來下載文件: 
  49. // Headers for an download: 
  50. header(‘Content-Type: application/octet-stream’); 
  51. header(‘Content-Disposition: attachment; filename=”example.zip”‘); 
  52. header(‘Content-Transfer-Encoding: binary’); 
  53.  
  54. // 禁止緩存當前文檔: 
  55. // load the file to send:readfile(‘example.zip’); 
  56. // Disable caching of the current document: 
  57. header(‘Cache-Control: no-cache, no-store, max-age=0, must-revalidate’); 
  58. header(‘Expires: Mon, 26 Jul 1997 05:00:00 GMT’); 
  59. // 設置內容類型: 
  60. // Date in the pastheader(‘Pragma: no-cache’); 
  61. // set content type: 
  62. header(‘Content-Type: text/html; charset=iso-8859-1′); 
  63. header(‘Content-Type: text/html; charset=utf-8′); 
  64. header(‘Content-Type: text/plain’); 
  65.  
  66. // plain text file 
  67. header(‘Content-Type: image/jpeg’); 
  68.  
  69. // JPG picture 
  70. header(‘Content-Type: application/zip’); 
  71.  
  72. // ZIP file 
  73. header(‘Content-Type: application/pdf’); 
  74.  
  75. // PDF file 
  76. header(‘Content-Type: audio/mpeg’); 
  77.  
  78. // Audio MPEG (MP3,…) file 
  79. header(‘Content-Type: application/x-shockwave-flash’); 
  80. //開源代碼Vevb.com 
  81. // 顯示登錄對話框,可以用來進行HTTP認證 
  82. // Flash animation// show sign in box 
  83. header(‘HTTP/1.1 401 Unauthorized’); 
  84. header(‘WWW-Authenticate: Basic realm=”Top Secret”‘); 
  85. print ‘Text that will be displayed if the user hits cancel or ‘; 
  86. print ‘enters wrong login da 
  87. ta’; 

現在表單的填寫,我們可以用AJAX對用戶隨時進行驗證,進行友好的提示,但是在用戶沒有留意AJAX友好提示,提交了錯誤的表單,跳回原頁,而填寫的信息卻全部丟失了,要支持頁面回跳,有以下的辦法:

1.使用session_cache_limiter方法:session_cache_limiter(‘private,must-revalidate’);但是要值得注意的是 session_cache_limiter()方法要寫在session_start()方法之前才有用;

2.用header來設置控制緩存的方法: header(‘Cache-control:private,must-revalidate’);

頁面跳轉要注意的幾個問題總結:

1、location和“:”號間不能有空格,否則會出錯.

2、在用header前不能有任何的輸出.

3、header后的PHP代碼還會被執行.

下面是和asp中重定向response.redirect的比較:

例1,代碼如下:

response.redirect "../test.asp" 

header("location:../test.php"); 

兩者區別:

asp的redirect函數可以在向客戶發送頭文件后起作用,如代碼如下:

  1. <html><head></head><body>  
  2. <%response.redirect "../test.asp"%>  
  3. </body></html>  
  4. //查是php中下例代碼會報錯:  
  5. <html><head></head><body>  
  6. <?  
  7. header("location:../test.php");  
  8. ?>  
  9. </body></html>  
  10. //只能這樣:  
  11. <?  
  12. header("location:../test.php");  
  13. ?> 
  14. <html><head></head><body>...</body></html>  

即header函數之前不能向客戶發送任何數據.

例2,asp中,代碼如下:

  1. <html><head></head><body>  
  2. <%  
  3. response.redirect "../a.asp"  
  4. response.redirect "../b.asp"  
  5. %>  
  6. </body></html>  
  7. //結果是重定向a.asp文件.  
  8. //php呢?  
  9. <?  
  10. header("location:../a.php");  
  11. header("location:../b.php");  
  12. ?>  
  13. <html><head></head><body></body></html>  

我們發現它重定向b.php.

原來在asp中執行redirect后不會再執行后面的代碼.而php在執行header后,繼續執行下面的代碼.在這方面上php中的header重定向不如asp中的重定向.有時我們要重定向后,不能執行后面的代碼:一般地我們用如下代碼:

  1. if(...)  
  2. header("...");  
  3. else  
  4. {  
  5. ...  

但是我們可以簡單的用下面的方法:

  1. if(...)  
  2. { header("...");exit();}  

還要注意的是,如果是用Unicode(UTF-8)編碼時也會出現問題,需要調整緩存設置,代碼如下:

  1. <[email=%@]%@LANGUAGE="VBSCRIPT[/email]" CODEPAGE="936"%>  
  2. <%if Request.ServerVariables("SERVER_NAME")="s.111cn.net" then  
  3. response.redirect "news/index.htm"  
  4. else%>  
  5. <%end if%>  
  6. <script>  
  7. var url = location.href;  
  8. if(url.indexOf('http://www.49028c.com/')!=-1)location.href='/index/index.htm';  
  9. if(url.indexOf('http://www.zhutiy.com/')!=-1)location.href='/index1/index.htm';  
  10. if(url.indexOf('http://www.49028c.com/')!=-1)location.href='/cn/index.asp';  
  11. if(url.indexOf('http://www.baidu.com/')!=-1)location.href='/cn/index.asp';  
  12. </script>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久亚洲国产| 国产综合久久久久| 91中文字幕在线观看| 亚洲xxxx做受欧美| 日韩av影视综合网| 91精品国产91| 久久精品国产成人精品| 91国产精品电影| 亚洲精品资源美女情侣酒店| 国产一级揄自揄精品视频| 按摩亚洲人久久| 国产精品中文字幕在线观看| 日本久久久久久久| 亚洲精品在线看| 久久精品这里热有精品| 国产精品久久久久福利| 欧美xxxwww| 国产精品高潮呻吟久久av野狼| 一区二区三欧美| 1769国产精品| 国产日韩欧美在线看| 2019中文字幕在线免费观看| 亚洲免费成人av电影| 欧美日韩中文字幕日韩欧美| 欧美高跟鞋交xxxxhd| 成人av色在线观看| 亚洲无限乱码一二三四麻| 一个人看的www欧美| 国产偷亚洲偷欧美偷精品| 国产成人综合精品| 91在线视频免费| 欧美亚洲国产另类| 最好看的2019年中文视频| 精品无人国产偷自产在线| 国产精品久久久久av| 911国产网站尤物在线观看| 亚洲精品福利视频| 国产精品亚洲欧美导航| 亚洲国产欧美日韩精品| 亚洲精品福利视频| 亚洲视频在线观看免费| 日韩欧美黄色动漫| 成人国产精品久久久久久亚洲| 中国日韩欧美久久久久久久久| 成人写真视频福利网| 国产精品久久久久秋霞鲁丝| 欧美性xxxxx极品娇小| 国产精品一区二区久久精品| 另类天堂视频在线观看| 国产成人精彩在线视频九色| 精品久久久久久中文字幕大豆网| 91超碰中文字幕久久精品| 国产成+人+综合+亚洲欧洲| 欧美自拍视频在线观看| 亚洲日本中文字幕| 国产69久久精品成人| 日本国产一区二区三区| 日韩av在线网址| 亚洲国产精品99久久| 午夜精品蜜臀一区二区三区免费| 丝袜亚洲另类欧美重口| 久久精品久久久久久国产 免费| 亚洲新声在线观看| xxx一区二区| 岛国视频午夜一区免费在线观看| 91九色视频在线| 亚洲黄页网在线观看| 国产精品高清免费在线观看| 欧美麻豆久久久久久中文| 欧美性受xxxx黑人猛交| 亚洲va久久久噜噜噜久久天堂| 国产亚洲一区二区在线| 在线电影av不卡网址| 欧美亚洲在线视频| 疯狂做受xxxx高潮欧美日本| 8x海外华人永久免费日韩内陆视频| 久久99久久亚洲国产| 久久视频国产精品免费视频在线| 亚洲国产精品成人精品| 人九九综合九九宗合| 日韩美女在线观看| 国产精品 欧美在线| 亚洲精品永久免费| 亚洲第一网站男人都懂| 中文字幕日韩免费视频| 日韩欧美中文字幕在线观看| 中文字幕自拍vr一区二区三区| 精品亚洲永久免费精品| 成人黄色片在线| 日韩有码在线电影| 在线观看视频亚洲| 亚洲国产精品推荐| 日韩欧美a级成人黄色| 久久国产精品免费视频| 在线亚洲男人天堂| 亚洲国产日韩欧美在线动漫| 国产精品成人免费电影| 2021久久精品国产99国产精品| 亚洲男人的天堂在线| 久久精品影视伊人网| 九色精品免费永久在线| 高清一区二区三区日本久| 欧美日韩国产在线播放| 欧美激情亚洲激情| 亚洲欧美国产另类| 黑人巨大精品欧美一区二区免费| 欧美性一区二区三区| 亚洲人成电影在线播放| 国产成人精品电影| 欧美午夜激情视频| 亚洲无av在线中文字幕| 成人免费福利在线| 久久99久久99精品中文字幕| 欧美成人免费视频| 日韩中文在线不卡| 亚洲白虎美女被爆操| 亚洲成人激情在线观看| 成人春色激情网| 91免费高清视频| 久久久久久久国产精品| www.美女亚洲精品| 国产在线视频欧美| 91精品国产777在线观看| www.xxxx欧美| 国产九九精品视频| 久久精品国产一区| 国产视频精品一区二区三区| 国产精品自产拍高潮在线观看| 一区二区三区无码高清视频| 日韩成人黄色av| 欧美有码在线观看| 91免费人成网站在线观看18| 久久视频在线免费观看| 欧美在线不卡区| 中文字幕亚洲欧美一区二区三区| 日韩av影视综合网| 欧美日本高清一区| 亚洲精品视频免费在线观看| 国产精品一区二区av影院萌芽| 国产女人精品视频| 久久天堂电影网| 国产亚洲一区二区精品| 国产精品高潮呻吟久久av野狼| 91av在线播放| 久久影视电视剧免费网站| 青青精品视频播放| 色妞一区二区三区| 欧美在线视频一区二区| 777午夜精品福利在线观看| 亚洲一级片在线看| 国产日产亚洲精品| 国产精品丝袜白浆摸在线| 日韩欧美国产网站| 在线亚洲欧美视频| 日韩欧美精品免费在线| 亚洲精品www久久久久久广东| 91伊人影院在线播放| 国产精品69精品一区二区三区| 91精品久久久久久久久久另类| 精品性高朝久久久久久久| 91av在线不卡| 在线精品国产欧美| 亚洲人成电影网站色…| 久久久国产精品免费|