即使在上传新图像后也显示旧图像
问题描述:
我使用php上传文件并在上传完成后立即显示。有时它会显示旧图片,并不会显示新上传的图片。但点击刷新将显示新图像。我怎样才能摆脱这一点?我使用的是Apache Web服务器。即使在上传新图像后也显示旧图像
答
这是由于浏览器的缓存。尝试在文件名路径中添加一个随机数,例如
<img src="image.jpg?rand=<?php echo rand(); ?>" />
当然,rand
是随机函数(PHP/Javascript)每次生成的。
答
你要缓存的图片,以随机值图像源附加到你,就像:
your_image.png?t=<?php echo time(); ?>
答
这样你就可以把它缓存,只要不被修改,并服务于新形象一旦它被修改。
<img src="image.jpg?t=<?php echo filemtime('image.jpg'); ?>" />
+0
Underated答案后,当想要这个!我不想完全防止缓存。 +1 – Lucius 2015-05-11 09:24:39
+1快速和很好的解决方案 – 2013-04-11 06:36:52
考虑到把这个始终将主要针对图像禁用缓存,所以大概只显示图像刚刚上传 – 2013-04-11 06:40:36