如何使用GET参数缓存PHP生成的图像

时间:2014-01-08 18:48:21

标签: php caching query-string

我见过很多人问过如何缓存用PHP脚本生成的图像。这很简单,但我不确定它是否会缓存使用查询字符串生成的图像。

我计划存储MySQL数据库以在BLOB中存储用户的头像,但是获取这些图像将需要PHP。所以我编写了一个简单的PHP脚本来获取图像并在jpeg中打印,但是当URL包含查询字符串时,浏览器会将其缓存吗?

假设我的脚本名为avatar.php,它依赖于名为user的GET变量。可以通过访问avatar.php?user = 1来查看用户头像。使用这些标题,浏览器会缓存图像吗?

header("Cache-Control: private, max-age=10800, pre-check=10800");
header("Pragma: private");
header("Expires: " . date(DATE_RFC822,strtotime(" 7 day")));
if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])){ 
    // if the browser has a cached version of this image, send 304 
    header('Last-Modified: '.$_SERVER['HTTP_IF_MODIFIED_SINCE'],true,304); 
    exit; 
}

0 个答案:

没有答案