溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php設置緩存時間的方法

發布時間:2020-09-04 10:41:24 來源:億速云 閱讀:444 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關php設置緩存時間的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

在php中可以通過“header()”方法來設置頁面Cache緩存,其語法如“header("Pragma: cache");$ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", ),GMT";”。

php設置緩存時間的方法

php header()設置頁面Cache緩存

header()函數在php的使用很大,下面我來介紹利用它實現頁面緩存的一些方法,但使用header前必須注意,在它之前不能任何輸出,包括空格。

手冊上,我們對于cache都是寫著如何設置,以便讓代碼不被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

而且在設置的時候還得注意在header前不能有輸出,否則header設置無效,但都沒有寫過,如何給頁面設置Cache,雖然我們知道有一些辦法,比如 E-TAG之類的,當然也有簡單的設置,比如我們在輸出前,對內容進行md5,將它當成e-tag只要沒變化,就不會有影響.也有其他的方式,代碼如下:

$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小時,主要是過期時間得用gmdate來設置,而不是date,這個要注意,其他都差不多。maxage要和expire能夠對得上。

對于PHP產生的動態內容,只需要在內容輸出之前輸出強制緩存的header即可,比如下面的代碼即要求瀏覽器緩存文件1個月,代碼如下:

<?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); 
?>

對于靜態文件,一般的服務器都支持第3級緩存狀態。要想達到第四級的緩存效果,要么像之前GZIP壓縮那樣,用PHP外包一層,然后用PHP處理。要么需要服務器端的支持,APACHE的一個模塊mod_expires支持給文件添加expires header。把下面的代碼加入你的blog目錄下的.htaccess文件,如果你的服務器安裝了mod_expires模塊,則將自動生效,圖片等強制緩存一個月,html文檔緩存10分鐘。如果該模塊沒有安裝,也不會出錯,代碼如下:

<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更詳細的文檔和教程。不過我要說明的是,mod_expires在絕大多數服務器上都沒安裝.

感謝各位的閱讀!關于php設置緩存時間的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女