是否可以使用代码禁用浏览器缓存?

时间:2013-08-18 02:10:23

标签: php browser-cache

我知道还有其他关于禁用缓存的帖子。我已经阅读了所有可以找到并且仍然有问题的内容,所以请善待,不要因为开始新主题而踢我。

这是交易,我正在建立一个房东可以用来列出他们所有房产的网站。它有点像房地产经纪人会使用的基于MLS的网站。

我遇到的问题对我来说不会有问题,但对于我的客户来说,这不是很明亮(我可以说,她是一个家庭成员)。一旦设置了属性并且上传了所有各种图片,就可以选择编辑任何数据以及删除任何现有图片。如果你删除一张图片,一切都运行良好,但浏览器缓存使它看起来好像什么也没发生。点击F5(在Firefox中)刷新页面,一切看起来都应该如此。

问题与我选择如何命名上传的照片有关。使用属性地址信息重命名照片,并附加图片编号。例如:3505Cardinalpic1.jpg,3505Cardinalpic2.jpg,3505Cardinalpic3.jpg等。例如,如果我要删除第一个图片,则会重命名以下图片以保持命名顺序不变。例如,他们将来3505Cardinalpic1.jpg和3505Cardinalpic2.jpg。两张幸存的图片都是来自预先存在的3个序列的第2张和第3张图片。

当一张图片被删除后页面重新加载时,它会从缓存加载图片,因为文件名没有改变,只有源文件本身。

我认为我可以通过重写处理图片的php来解决这个问题,以便文件名附加一个时间戳或者某些内容会使每个名称仍然可识别但是唯一但我想确保没有更简单的方法在我去那里之前做那件事并且使用一些有效的东西。

我故意不发布代码,因为我不认为这是代码问题,问题描述已经足够长了。如果您想查看我的代码的一部分,请询问。

我试过这个没有运气:
test php disabled caching

我尝试使用时间戳附加我的网址,使其独一无二,但也无济于事。

提前感谢任何建议。

1 个答案:

答案 0 :(得分:0)

要强制浏览器不缓存文件,请将其与更改的参数链接。如果你这样做:

<img src="3505Cardinalpic2.jpg?001"/>

以及之后,

<img src="3505Cardinalpic2.jpg?002"/>

浏览器将重新加载图像,因为他不确定这是否相同。如果您不想缓存,可以将时间戳作为参数。

但是禁用缓存并不好,所以也许只有在你的相册中有修改时你才能改变价值?