防止浏览器在PHP中缓存图像的最佳方法是什么?
我尝试过标头(方法:
header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
但除了手动清除浏览器的缓存外,似乎什么都不起作用。
我有一些图像被替换为相同的名称,例如avatar.png作为用户的可更新头像,但当它更新时,浏览器会保留旧版本。
即使删除了原始头像并添加了新头像,浏览器仍然保留旧的头像.png.
有什么想法吗?
只需在图像URL的末尾放置一个随机参数。时间戳也可以很好地用于此。
例如在PHP中:
"http://domain.com/img.png?t=" . time();
浏览器将始终加载此新图像。不过,您应该小心使用它,它会使加载时间变慢。
只要插入自己的图像,就不需要每次都阻止图片缓存。您可以使用filemtime($imgPath)来检查上次图片更改的时间。
例如:'http://example.com/img.jpg?last_picture_update="。filemtime($imgPath)
在同一浏览会话中,如果使用相同的IMG src
,无论缓存设置如何,浏览器都会经常重复使用其保留在内存中的图像副本。这似乎就是发生在你身上的事情。
我在这里总结了一些常见的"更新图像"问题的解决方案。
谢谢你,这次像这次一样为我运行
不运行<
echo "<img src='gambarLimas.jpg'><br>";
运行良好的
echo "<img src='gambarLimas.jpg?t=".time()."'><br>";