這篇文章給大家分享的是有關(guān)php設(shè)置緩存時(shí)間的方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)公司是專業(yè)的孟州網(wǎng)站建設(shè)公司,孟州接單;提供網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行孟州網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!在php中可以通過“header()”方法來設(shè)置頁面Cache緩存,其語法如“header("Pragma: cache");$ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", ),GMT";”。
php header()設(shè)置頁面Cache緩存
header()函數(shù)在php的使用很大,下面我來介紹利用它實(shí)現(xiàn)頁面緩存的一些方法,但使用header前必須注意,在它之前不能任何輸出,包括空格。
手冊上,我們對于cache都是寫著如何設(shè)置,以便讓代碼不被cache,代碼如下:
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); // HTTP/1.1 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past header("Pragma: no-cache"); // Date in the past
而且在設(shè)置的時(shí)候還得注意在header前不能有輸出,否則header設(shè)置無效,但都沒有寫過,如何給頁面設(shè)置Cache,雖然我們知道有一些辦法,比如 E-TAG之類的,當(dāng)然也有簡單的設(shè)置,比如我們在輸出前,對內(nèi)容進(jìn)行md5,將它當(dāng)成e-tag只要沒變化,就不會(huì)有影響.也有其他的方式,代碼如下:
$seconds_to_cache = 3600; $ts = gmdate("D, d M Y H:i:s", time() + $seconds_to_cache) . " GMT"; header("Expires: $ts"); header("Pragma: cache"); header("Cache-Control: max-age=$seconds_to_cache");
緩存1小時(shí),主要是過期時(shí)間得用gmdate來設(shè)置,而不是date,這個(gè)要注意,其他都差不多。maxage要和expire能夠?qū)Φ蒙稀?/p>
對于PHP產(chǎn)生的動(dòng)態(tài)內(nèi)容,只需要在內(nèi)容輸出之前輸出強(qiáng)制緩存的header即可,比如下面的代碼即要求瀏覽器緩存文件1個(gè)月,代碼如下:
<?php header("Cache-Control: public"); header("Pragma: cache"); $offset = 30*60*60*24; // cache 1 month $ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", time() + $offset)." GMT"; header($ExpStr); ?>
對于靜態(tài)文件,一般的服務(wù)器都支持第3級緩存狀態(tài)。要想達(dá)到第四級的緩存效果,要么像之前GZIP壓縮那樣,用PHP外包一層,然后用PHP處理。要么需要服務(wù)器端的支持,APACHE的一個(gè)模塊mod_expires支持給文件添加expires header。把下面的代碼加入你的blog目錄下的.htaccess文件,如果你的服務(wù)器安裝了mod_expires模塊,則將自動(dòng)生效,圖片等強(qiáng)制緩存一個(gè)月,html文檔緩存10分鐘。如果該模塊沒有安裝,也不會(huì)出錯(cuò),代碼如下:
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif A2592000 ExpiresByType image/jpeg A2592000 ExpiresByType image/png A2592000 ExpiresByType application/x-shockwave-flash A2592000 ExpiresByType text/css A2592000 ExpiresByType application/x-javascript A2592000 ExpiresByType text/html A600 </IfModule>
在這里有mod_expires更詳細(xì)的文檔和教程。不過我要說明的是,mod_expires在絕大多數(shù)服務(wù)器上都沒安裝.
感謝各位的閱讀!關(guān)于php設(shè)置緩存時(shí)間的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
分享題目:php設(shè)置緩存時(shí)間的方法-創(chuàng)新互聯(lián)
分享路徑:http://aaarwkj.com/article0/cdhcio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、App開發(fā)、微信公眾號、動(dòng)態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容