从 php 获取 img 并重新加载


Get img from php and reload

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

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

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

这与你的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" />
您可以使用

header()向图像添加No Cache标题。

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

我采用的解决方案如下。

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