从php获取图像并重新加载

时间:2012-07-02 09:12:10

标签: php image

你好我有一个动态创建图像的php文件。基本上它在img上添加了一个文本。我在html中这样称呼它们没有问题

<img src="img.php?session=<?php echo $session; ?>" />
<img src="img.php?session=<?php echo $session; ?>" />

现在,如果服务器上的图像发生变化,我再次从html调用图像没有改变,我必须进行整页刷新才能看到新图像。 [编辑]我也注意到它在Chrome上运行正常。我在firefox上只有这个问题,就像igonring <meta http-equiv="Cache-Control" content="no-cache/>

一样

4 个答案:

答案 0 :(得分:2)

这与您的PHP无关,而是与您的浏览器有关。浏览器正在缓存图像,因此需要完全刷新。您应该可以通过在HTML head代码

之间添加此内容来解决此问题
 <meta http-equiv="CACHE-CONTROL" content="NO-CACHE" />

修改 看起来还有其他http-equiv可以做同样的事情:

 <meta http-equiv="Pragma" content="no-cache" />
 <meta http-equiv="Expires" content="-1" />

答案 1 :(得分:1)

您可以使用No Cacheheader()标题添加到图像中。

答案 2 :(得分:1)

在图像源的末尾添加一个随机数,然后它将始终从服务器获取图像,因为它无法在缓存中找到。

答案 3 :(得分:1)

我采用的解决方案如下:

var ts = Math.round((new Date()).getTime() / 1000);
<img src="img.php?session=<?php echo $session; ?>&time=' + ts + '" />