我试图确保一些图像在被修改时不被缓存但是哪个更适合这个filectime或filemtime?
我真的看不出php手册有多大区别?要么更快?
<img src="/images/123.png?<?=md5(@filectime("/images/123.png"))?>" />
<img src="/images/123.png?<?=md5(@filemtime("/images/123.png"))?>" />
Run Code Online (Sandbox Code Playgroud)
还有这样的函数不会发出e_warning文件错误吗?
理想情况下,我不想只提供问号 <img src="/images/123.png?" />
Jam*_*esG 17
当您处理图像缓存时,filectime是不合适的 - 它标志着最后一次
更新inode的权限,所有者,组或其他元数据时
您想知道图像文件内容是否已更改 - 是否已完全调整大小,裁剪或替换.
因此filemtime更适合您的应用程序:
当正在写入文件的数据块时,即文件内容被更改的时间
如果你不想要的话?要始终显示,首先将filemtime设置为变量并测试它:
$filemtime = @filemtime("/images/123.png");
<img src="/images/123.png<?= $filemtime ? '?' . $filemtime : ''?>" />
Run Code Online (Sandbox Code Playgroud)
更好的是,在运行filemtime之前使用file_exists()测试文件是否存在
| 归档时间: |
|
| 查看次数: |
8790 次 |
| 最近记录: |