即使在上传新图像后仍显示旧图像


showing old image even after new image is being uploaded

我正在使用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'); ?>" />
注意:这不会完全禁用缓存,但会在可用的情况下提供新图像。