《PHP教程:php靜態文件返回304技巧分享》要點:
本文介紹了PHP教程:php靜態文件返回304技巧分享,希望對您有用。如果有疑問,可以聯系我們。
PHP應用有時一些靜態文件(如圖片)會由php輸出,會發現哀求都是200,靜態文件每次都去服務器上哀求太浪費資源了,這時如何讓瀏覽器緩存圖片呢?就需要我們在php中輸出304了.
PHP應用我們可以利用php中的 HTTP_IF_MODIFIED_SINCE 結合etag來干這事.Etag沒有明確規定的格式,我們可以用文件修改時間的md5值,代碼如下:
代碼如下:
private function _addEtag($file) {
??? $last_modified_time = filemtime($file);
??? $etag = md5_file($file);
??? // always send headers
??? header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT");
??? header("Etag: $etag");
??? // exit if not modified
??? if (@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $last_modified_time ||
??? @trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) {
??????? header("HTTP/1.1 304 Not Modified");
??????? exit;
??? }
}
PHP應用在代碼中可以在靜態文件(如圖片)輸出之前挪用即可.
維易PHP培訓學院每天發布《PHP教程:php靜態文件返回304技巧分享》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/12816.html