在php中如何使用浏览器的图片缓存?

在网站优化当中,我们不可避免的对图片进行优化,但其中有一项在浏览器端的图片缓存。

一般根据Http返回状态来处理。当返回304直接从缓存中读取

我们加上个etag就可以了


cache(); 
echo date(”Y-m-d H:i:s”); 
function cache() 

       $etag = “http://www.yzfang.com”; 
       if (isset($_SERVER['HTTP_IF_NONE_MATCH'])  && 
$_SERVER['HTTP_IF_NONE_MATCH'] == $etag) 
       { 
              header(’Etag:’.$etag,true,304); 
              exit; 
       } 
       else header(’Etag:’.$etag); 

}


扬州房地产家居网中,我将该功能进行了函数化处理,这样就可以再需要的地方使用了

 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;
}
}


上述有什么不对的地方,欢迎来访!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值