图像已更改,但在浏览器中显示相同

时间:2009-11-09 15:38:06

标签: php html

我正在编写一个PHP脚本来裁剪图像。 该脚本用'new'图像覆盖'旧'图像,但是当我重新加载页面(应该拾取新图像)时,我仍然看到旧图像。

如果我检查我的硬盘(我在本地机器上工作),我可以看到图像已经改变了,但HTML没有拿起它。也许这是一个缓存问题? 我该如何解决?

感谢, 帕特里克

5 个答案:

答案 0 :(得分:5)

确保图像永不缓存的常用技术是将当前时间(以毫秒为单位)添加到图像URL的末尾作为参数。您的Web服务器将忽略该参数并每次都提供相同的图像,但您的浏览器(以及任何中间缓存)将注册缓存未命中,因为图像的URL不同。

<a href='/images/someimage.png?d= <?php echo(date("U")); ?> '>

答案 1 :(得分:2)

如果你确定你的HTML指向正确的文件; 控制 + F5

答案 2 :(得分:1)

尝试向网址添加时间戳。这可以防止大多数浏览器缓存图像。示例:http://localhost/test.jpg?1257783872

编辑:哦,Ryan已经给出了类似的答案。遗憾。

答案 3 :(得分:0)

您是否发送了正确的标头以阻止浏览器缓存图片?

例如:http://www.badpenguin.org/php-howto-control-page-caching

答案 4 :(得分:0)

可能是您的ISP正在使用缓存代理。使用BrowserShots检查网址,看看是否确实如此。我的后备DSL来自提供商,它可以节省带宽,非常烦人。他们也忽略了每个标题,告诉他们不要这样做。