注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

isblog主页

或许不一定要做得最多,但一定要做得最好! 能力就是一种财富,积累越多,就越体现你

 
 
 

日志

 
 

PHP使用header()输出图片缓存  

2016-04-14 10:05:22|  分类: PHP学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

直接看示例代码:

<?php

$filePath = 'test.png';

$lasttime = filemtime($filePath);
$eTag = $filePath;
$eTag .= $lasttime;
$eTag = md5($eTag);
if((isset($_SERVER['HTTP_IF_NONE_MATCH'])) && (stripslashes($_SERVER['HTTP_IF_NONE_MATCH']) == $eTag)) {
header("HTTP/1.1 304 Not Modified", TRUE, 304);
}else{
header("ETag: ".$eTag);
header("Content-Type: image/png");
header('Content-Length: '. filesize($filePath)); //文件长度
//手动设置过期时间,单位都是秒
$validtime = 7 * 24 * 60 * 60;
//缓存相对请求的时间,
header('Cache-Control: private,' . 'max-age='. $validtime.",pre-check=".$validtime);
header('Pragma: private');//没用,但要设置,防止服务器生成no-cache的可怕字眼
header('Expires:'. preg_replace('/.{5}$/', 'GMT', gmdate('r', time()+ $validtime)));
header('Last-Modified: ' . preg_replace('/.{5}$/', 'GMT', gmdate('r', $lasttime) ));
readFile($filePath);
}


  评论这张
 
阅读(140)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018