最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Php header()函數(shù)語法及使用代碼

 更新時間:2013年11月04日 11:46:48   作者:  
Php header()函數(shù)語法及使用代碼詳解,這里列出了header的常用常用狀態(tài)碼。

語法:

復制代碼 代碼如下:

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

向客戶端發(fā)送原始的HTTP報頭
需注意:
Header函數(shù)必須在任何實際的輸出前調(diào)用,無論是一般的html標簽、文件中空行,或者來自php。就是在這個函數(shù)之前不能有任何形式的輸出。
參數(shù)說明:

參數(shù) 描述
string 必需。規(guī)定要發(fā)送的報頭字符串。
replace 可選。指示該報頭是否替換之前的報頭,或添加第二個報頭。
默認是 true(替換)。false(允許相同類型的多個報頭)。

http_response_code 可選。把 HTTP 響應代碼強制為指定的值。(PHP 4 以及更高版本可用)
常見用法實例:

一、發(fā)送服務器狀態(tài)碼

復制代碼 代碼如下:

header('HTTP/1.0 404 Not Found');

常用狀態(tài)碼:

狀態(tài)碼 說明
100-199 表示成功接收請求,要求客戶端繼續(xù)提交下一次請求才能完成整個處理過程
200-299 成功接收請求,并已完成整個處理過程,常用200
300-399 未完成請求,客戶端需要進一步細化請求,比如,請求的資源已經(jīng)移動到一個新的地址,常用302,304
400-499 客戶端請求有誤 常用404
500-599 服務器端出現(xiàn)錯誤,常用500
詳細見:HTTP&FTP相應提示信息

二、頁面跳轉(zhuǎn)

復制代碼 代碼如下:

// 立即跳轉(zhuǎn)
header('Location: http://m.fzitv.net/');

// 3秒后跳轉(zhuǎn)
header('refresh:3;url=http://m.fzitv.net');

3.設置瀏覽器緩存

強制瀏覽器不進行緩存!
[code]
//header('Expires:-1');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control:no-cache,must-revalidate');
header('pragma:no-cache');
header('Last-Modified: '. date('D, j M Y H:i:s T') );


說明:
Expires后的時間必須是GMT格式的 如:gmdate(“M d Y H:i:s”);
Cache-control常見的取值有private、no-cache、max-age、must-revalidate等,默認為private。其作用根據(jù)不同的重新瀏覽方式分為以下幾種情況。
Cache-directive 說明
public 所有內(nèi)容都將被緩存
private 內(nèi)容只緩存到私有緩存中
no-cache 所有內(nèi)容都不會被緩存
no-store 所有內(nèi)容都不會被緩存到緩存或 Internet 臨時文件中
must-revalidation/proxy-revalidation 如果緩存的內(nèi)容失效,請求必須發(fā)送到服務器/代理以進行重新驗證
max-age=xxx (xxx is numeric) 緩存的內(nèi)容將在 xxx 秒后失效, 這個選項只在HTTP 1.1可用, 并如果和Last-Modified一起使用時, 優(yōu)先級較高
打開新窗口
如果指定cache-control的值為private、no-cache、must-revalidate,那么打開新窗口訪問時都會重新訪問服務器。而如果指定了max-age值,那么在此值內(nèi)的時間就不會重新訪問服務器,如:
復制代碼 代碼如下:

header('cache-control:max-age=5');

表示當訪問此網(wǎng)頁后的5秒內(nèi)不會再次訪問服務器

在地址欄回車
如果值為private或Must-revalidate,則只有第一次訪問時會訪問服務器,以后就不在訪問。如果值為no-cache,那么每次都會訪問。如果值為max-age,則在過期之前不會重復訪問。
按后退按鈕
如果值為private、must-revalidate、max-age,則不會重訪問,而如果為no-cache,則每次都重復訪問
按刷新按鈕
無論何值,都會重復訪問。當指定Cache-control值為“no-cache”時,訪問此頁面不會在Internet臨時文章夾留下頁面?zhèn)浞?。另外,通過指定“Expires”值也會影響到緩存。例如,指定Expires值為一個早已過去的時間,那么訪問此網(wǎng)時若重復在地址欄按回車,那么每次都會重復訪問:
Expires: Fri, 31 Dec 1999 16:00:00 GMT
關于”Last-Modified
在瀏覽器第一次請求某一個URL時,服務器端的返回狀態(tài)會是200,內(nèi)容是你請求的資源,同時有一個Last-Modified的屬性標記此文件在服務期端最后被修改的時間,格式類似這樣:
Last-Modified: Fri, 12 May 2006 18:53:33 GMT
客戶端第二次請求此URL時,根據(jù) HTTP 協(xié)議的規(guī)定,瀏覽器會向服務器傳送 If-Modified-Since 報頭,詢問該時間之后文件是否有被修改過:

If-Modified-Since: Fri, 12 May 2006 18:53:33 GMT
如果服務器端的資源沒有變化,則自動返回 HTTP 304 (Not Changed.)狀態(tài)碼,內(nèi)容為空,這樣就節(jié)省了傳輸數(shù)據(jù)量。當服務器端代碼發(fā)生改變或者重啟服務器時,則重新發(fā)出資源,返回和第一次請求時類似。從而保證不向客戶端重復發(fā)出資源,也保證當服務器有變化時,客戶端能夠得到最新的資源。

Last-Modified提高性能
聰明的開發(fā)者會把Last-Modified 和ETags請求的http報頭一起使用,這樣可利用客戶端(例如瀏覽器)的緩存。因為服務器首先產(chǎn)生 Last-Modified/Etag標記,服務器可在稍后使用它來判斷頁面是否已經(jīng)被修改。本質(zhì)上,客戶端通過將該記號傳回服務器要求服務器驗證其(客戶端)緩存。

過程如下:

客戶端請求一個頁面(A)
服務器返回頁面A,并在給A加上一個Last-Modified
客戶端展現(xiàn)該頁面,并將頁面連同Last-Modified一起緩存
客戶再次請求頁面A,并將上次請求時服務器返回的Last-Modified一起傳遞給服務器
服務器檢查該Last-Modified,并判斷出該頁面自上次客戶端請求之后還未被修改,直接返回響應304和一個空的響應體。

三、文件下載
比如下載一個pdf文件

復制代碼 代碼如下:

// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
//表明他是附件,進行命名并下載
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in 1.pdf
readfile('1.pdf');

其實這樣要更好的了解這些!
復制代碼 代碼如下:

header('content-type:application/octet-sream');
Header('Accept-Ranges:bytes');

//依字節(jié)返回
Header('content-disposition:attachement;filename="文件名"');
Header('Accept-length:'.$filesize);

相關文章

  • PHP 網(wǎng)頁過期時間的控制代碼

    PHP 網(wǎng)頁過期時間的控制代碼

    有時我們需要控制主頁之類的網(wǎng)頁過期時間。但我們比如使用的是Chinacache的CDN,那要怎么樣設計才能讓他緩存我的內(nèi)容.
    2009-06-06
  • php使用explode()函數(shù)將字符串拆分成數(shù)組的方法

    php使用explode()函數(shù)將字符串拆分成數(shù)組的方法

    這篇文章主要介紹了php使用explode()函數(shù)將字符串拆分成數(shù)組的方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • php中current、next與reset函數(shù)用法實例

    php中current、next與reset函數(shù)用法實例

    這篇文章主要介紹了php中current、next與reset函數(shù)用法,以實例形式詳細講述了PHP中針對數(shù)組操作的函數(shù)current、next與reset的具體用法,對于深入了解數(shù)組的用法具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • Ajax+PHP 邊學邊練之四 表單

    Ajax+PHP 邊學邊練之四 表單

    通過上一篇文章已經(jīng)了解到如何利用Ajax和PHP對數(shù)據(jù)庫進行數(shù)據(jù)讀取,這樣可以動態(tài)的獲取到數(shù)據(jù)庫的最新數(shù)據(jù)。本篇則繼續(xù)介紹通過表單(Form)向數(shù)據(jù)庫中寫入數(shù)據(jù)。
    2009-11-11
  • PHP函數(shù)參數(shù)傳遞的方式整理

    PHP函數(shù)參數(shù)傳遞的方式整理

    在本篇文章里小編給大家整理的是關于PHP函數(shù)參數(shù)傳遞的方式整理內(nèi)容,需要的朋友們可以參考下。
    2020-03-03
  • php使用正則表達式進行字符串搜索的方法

    php使用正則表達式進行字符串搜索的方法

    這篇文章主要介紹了php使用正則表達式進行字符串搜索的方法,實例分析了php正則表達式的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • 在同一窗體中使用PHP來處理多個提交任務

    在同一窗體中使用PHP來處理多個提交任務

    在PHP中的處理窗體數(shù)據(jù)比其它網(wǎng)頁程序語言更簡單——如果你使用這種語言一段時間后,你會發(fā)現(xiàn)這是一個不可爭辯的事實。這種操作的簡易性使它可以容易地處理更為復雜的窗體事件,包括今天討論的主題,即在同一個窗體中通過多個按鈕來處理不同的任務。
    2008-05-05
  • php操作redis數(shù)據(jù)庫常見方法實例總結(jié)

    php操作redis數(shù)據(jù)庫常見方法實例總結(jié)

    這篇文章主要介紹了php操作redis數(shù)據(jù)庫常見方法,結(jié)合實例形式總結(jié)分析了PHP操作redis數(shù)據(jù)庫的基本安裝、連接、字符串、哈希表、列表、集合等相關操作技巧,需要的朋友可以參考下
    2020-02-02
  • PHP實現(xiàn)獲取圖片顏色值的方法

    PHP實現(xiàn)獲取圖片顏色值的方法

    這篇文章主要介紹了PHP實現(xiàn)獲取圖片顏色值的方法,需要的朋友可以參考下
    2014-07-07
  • php 需要掌握的東西 不做浮躁的人

    php 需要掌握的東西 不做浮躁的人

    很多學PHP的人一直也搞不清楚,一個PHP程序員和Java程序員或者是.net程序員有什么不同,告訴你,其實都一樣!
    2009-12-12

最新評論

西乡县| 府谷县| 巴林左旗| 博乐市| 临湘市| 长沙市| 镇原县| 汾西县| 洪泽县| 鹤庆县| 乐清市| 香格里拉县| 华阴市| 封丘县| 白银市| 鲁甸县| 辽阳市| 海林市| 济南市| 双江| 洪洞县| 马边| 永济市| 延川县| 广安市| 陇西县| 上林县| 淮滨县| 沭阳县| 平泉县| 大竹县| 宣城市| 朝阳县| 昆明市| 德庆县| 漳平市| 寿宁县| 玛沁县| 合肥市| 大兴区| 罗田县|