我有一个用PHP编写的图像上传工具。
用户可以选择一个文件,并使用某个文件名上传,然后如果用户后悔选择该文件,他们可以点击文件输入并上传另一个文件,但是FILENAME是相同的,所以浏览器缓存上传的第一张图片。而不是第二个图像,浏览器显示第一个图像,即使它是上传的另一个图像。
有点难以解释......
我该如何解决这个问题?
由于
答案 0 :(得分:12)
禁用网络服务器中的图片缓存,或将随机查询字符串附加到图片的src
。
“随机查询字符串”我的意思是您在每个请求上附加一些更改的内容到图像的URL。 像这样:
<img src="http://www.example.com/image.jpg?<?php echo Time () ?>" />
Time()返回当前的TIMESTAMP,并且会在每次请求时更改,因此URL将始终不同,从而强制浏览器每次都下载图像。
答案 1 :(得分:0)
我以前见过这样的东西,但是另一种方式是我将文件从服务器发送到浏览器。文件名没有改变,但内容应该有,但它一直显示原始文件的内容。
我通过更改php.ini中的设置来修复它:
session.cache_limiter = nocache