我试图确保在修改某些图像时不会将其缓存,但是更适合此filectime
或filemtime
吗?
我真的看不出与php手册有太大区别吗?会更快吗?
<img src="/images/123.png?<?=md5(@filectime("/images/123.png"))?>" />
<img src="/images/123.png?<?=md5(@filemtime("/images/123.png"))?>" />
还有像这样的功能,不会在文件错误时发出
e_warning
吗?理想情况下,我不想只提供问号
<img src="/images/123.png?" />
最佳答案
在处理图像缓存时,filectime
是不合适的-它标志着最后一次:
您想知道图像文件的内容是否已更改-是否已调整大小,裁剪或完全替换了它。
因此,filemtime
更适合您的应用程序:
如果您不希望?
始终显示,请先将filemtime
设置为变量并进行测试:
$filemtime = @filemtime("/images/123.png");
<img src="/images/123.png<?= $filemtime ? '?' . $filemtime : ''?>" />
更好的是,在使用file_exists()
之前,先使用filemtime
测试文件是否存在。