php - 告诉浏览器“解除”php生成的图像

时间:2012-08-24 12:59:32

标签: php caching

我需要缓存一个php生成的图像,但图像的内容(必须具有相同的URL)可以更改。当发生这种情况时,浏览器应该“解除”旧图像并缓存新图像。但是,如果缓存原始映像,则浏览器不会向服务器发送reuest。 要缓存图像,我使用它:

header("Cache-Control: private, max-age=10800, pre-check=10800");
header("Pragma: private");
header("Expires: " . date(DATE_RFC822,strtotime(" 2 day")));
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) 
       && 
  (strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == filemtime($file))) {
  header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($file)).' GMT', 
  true, 304);
  exit;
}

由于用户通过ajax和JSON获取所有内容,我不能(我可以,但它会使响应更大)指定哪个图像是我想要的。

1 个答案:

答案 0 :(得分:1)

您可以使用ETag 但是......仍然需要一个http请求和一个“部分”响应。