我正在建立一个允许用户上传图像的网络网站。
当一个用户(user1)查看另一用户(user2)的配置文件页面时,通常会显示缓存的图像,而不是用户2最近上传的新图像。
我不能设置标题来阻止缓存,因为网站的设计对网站上的所有页面都有一个通用的标题/菜单/导航,这将对带宽/网站性能产生非常显著的影响。
因此,我的问题是:
使用PHP、JavaScript、HTML或内联CSS标记,有没有办法防止单个图像被缓存?或者确保它们在每个页面视图中都是新加载的?
理想情况下,您应该相应地设置服务器以发送正确的标头。
一个快捷方法是让你的PHP页面在图像URL的末尾输出一个随机数或时间戳:
<img src="yourimage.jpg?<?php echo time(); ?>" />
尽可能使用模板引擎或其他工具将PHP与图像分离。
第三种选择是使用PHP脚本返回图像,并在那里设置标题。
试试这个:
<img src="image.jpg?<?php echo time(); ?>" />