2012-01-31 56 views
0

我正在构建一个允许用户上传图像的网络网站。php - 允许页面缓存,但确保图像不是

当一个用户(用户1)查看其他用户(用户2)个人资料页,往往在缓存图像中显示,而新的图像用户2最近上传。

我无法设置标题来防止缓存,因为网站的设计对网站上的所有页面都有一个共同的标题/菜单/导航,这会对带宽/网站性能产生非常重要的影响。

我的问题是这样的:

使用PHP,JavaScript的,HTML,或内联CSS标签,是有办法,以防止单个图像被缓存?或者为了确保它们在每个页面视图中都新鲜加载?

回答

3

理想情况下,您将相应地设置您的服务器以发送正确的标头。

的快捷方法是有你的PHP页面输出的图像URL的结尾的随机数或时间戳:

<img src="yourimage.jpg?<?php echo time(); ?>" /> 

用你的模板引擎或任何到可能的PHP从图像中分离出来。

第三个选项是使用PHP脚本来返回图像,并在那里设置标题。

+0

这个答案似乎已经奏效!对我来说,现在看来很明显,因为我在页面URL中使用该方法!谢谢你这么清晰,快速的回应!由于我没有足够的声望,它不会让我回答答案,但我一定会很快尝试! – MaurerPower 2012-01-31 05:56:15

0

试试这个:

<img src="image.jpg?<?php echo time(); ?>" /> 
+2

这与Brad的答案完全相同,不是吗? – nickb 2012-01-31 06:08:09