16 php browser-cache
我有一个项目列表,其中还包含图像缩略图.有时我需要更改缩略图,但保持文件名相同.有没有办法强制浏览器下载新上传的图像,而不是从浏览器缓存中抓取一个?
当人们更新他们的头像时,这是非常相关的,这会导致一些用户感到困惑,他们一直看到他们的旧头像,直到他们清除浏览器缓存或重新启动浏览器.
nia*_*llo 26
在图像src的末尾附加一个唯一的数字
即
<?php
echo "<img src=../thumbnail.jpg?" . time() . ">";
Run Code Online (Sandbox Code Playgroud)
只在更新头像的表单上执行此操作
适合我
顺便说一句,这适用于强制更新其他静态文件
即用于css文件的html是
<link rel="Stylesheet" href="../css/cssfile.css?<?= md5_file('cssfile.css'); ?>" />
Run Code Online (Sandbox Code Playgroud)
您可以使用文件的修改时间:
<?
$filename = 'avatar.jpg';
$filemtime = filemtime($filename);
echo "<img src='".$filename."?".$filemtime."'>";
//result: <img src='avatar.jpg?1269538749'>
?>
Run Code Online (Sandbox Code Playgroud)
修改文件时将清除客户端缓存
您可以通过更改标头来使整个页面的缓存失效:
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29085 次 |
| 最近记录: |