仅当文件自上次访问后发生更改时才提供新内容。
我该如何实施?
更新
抱歉之前没有提到,但是请求的资源是直接请求的网页,而不是图像。
您可以使用从 rails 借来的技巧并将最后文件修改时间附加到包含:
$fileName = 'image.jpg';
$httpLink = $fileName . '?' . filemtime( $fileName );
echo '<img src="', $fileName, '" alt="blah" />';
这将输出一个链接,如
<img src="image.jpg?1002412" alt="blah" />
然后当文件改变时,查询字符串也会改变,浏览器会请求“新”文件,即
<img src="image.jpg?1003622" alt="blah" />
或者,您可以保留文件修订的本地日志并从数据库而不是文件系统读取修订号,这可能会稍微快一些(并保存文件系统读取,尽管差别不大 - 取决于数据库与 Web 服务器负载)。