你好我有一个动态创建图像的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/>
答案 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 Cache
将header()
标题添加到图像中。
答案 2 :(得分:1)
在图像源的末尾添加一个随机数,然后它将始终从服务器获取图像,因为它无法在缓存中找到。
答案 3 :(得分:1)
我采用的解决方案如下:
var ts = Math.round((new Date()).getTime() / 1000);
<img src="img.php?session=<?php echo $session; ?>&time=' + ts + '" />