2012-07-02 98 views
3

你好,我有一个动态创建图像的php文件。基本上它在img上添加一个文本。林称他们这样的HTML没有问题从img获取img并重新加载

<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

刷新页面时加载图片时显示图片?在这种情况下,您可以在''标记中添加一些javascript以重新加载页面。因此:'onClick =“window.location.href = window.location.href”'或'onClick =“window.location.reload()”' – ClydeFrog

回答

1

我采用的解决方案如下。

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

我已经完成了这个没有任何运气 –

+0

你可以发布所有的HTML那么呢? – JRSofty

1

你可以添加No Cache使用header()的图像标题。

1

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