我可以在PHP中使用filemtime('style.css')强制浏览器重新加载css吗?

我可以在PHP中使用filemtime('style.css')强制浏览器重新加载css吗?,php,css,caching,browser-cache,Php,Css,Caching,Browser Cache,我可以在PHP中使用filemtime强制浏览器重新加载css吗 $mtime = filemtime('style.css'); echo "\style.css?mod=" . $mtime; filemtime是否太慢?在正常情况下,filemtime应该可以 您还可以查看电子标签,让Apache为您完成工作。filemtime在正常情况下应该可以 您也可以查看E-Tags,让Apache帮您完成工作。filemtime返回时间戳,时间戳每秒钟增加一次。Apache默认启用E-Tag

我可以在PHP中使用filemtime强制浏览器重新加载css吗

 $mtime = filemtime('style.css');
 echo "\style.css?mod=" . $mtime;
filemtime是否太慢?

在正常情况下,filemtime应该可以

您还可以查看电子标签,让Apache为您完成工作。

filemtime在正常情况下应该可以


您也可以查看E-Tags,让Apache帮您完成工作。

filemtime返回时间戳,时间戳每秒钟增加一次。Apache默认启用E-Tags时,我会在响应头中看到E-tag,但当我更新样式表时,浏览器通常会从缓存而不是服务器加载它。我认为在链接中使用param是一种强制浏览器避免缓存的强大方法。我的问题是如何计算它以避免过载。你弄错时间了。在基于SSD的服务器上,对于频繁访问的资源,使用操作系统文件系统缓存,filemtime的开销可能非常低,至少对于较小的站点是如此,尽管这只是一个轶事,因为一个站点每天的页面浏览量约为1000次。访问文件修改时间所花费的少量时间被其他网站缓存机制所弥补。filemtime返回时间戳,时间戳每秒钟增加一次。Apache默认启用了E-Tags,我在响应头中看到E-tag,但当我更新样式表时,浏览器通常从缓存而不是服务器加载它。我认为在链接中使用param是一种强制浏览器避免缓存的强大方法。我的问题是如何计算它以避免过载。你弄错时间了。在基于SSD的服务器上,对于频繁访问的资源,使用操作系统文件系统缓存,filemtime的开销可能非常低,至少对于较小的站点是如此,尽管这只是一个轶事,因为一个站点每天的页面浏览量约为1000次。访问文件修改时间所花费的少量时间被其他网站缓存机制所弥补。我正在考虑使用filemtime作为css/js/image文件浏览器缓存破坏技术的一部分,并正在考虑使用memcached缓存mtime是否有助于防止多个文件系统调用。1000个filemtime调用,包括在调用与1000个memcached读取之间清除stat缓存。filemtime要快得多。1000 filemtime take:0.004787 1000 memcache take:0.075099不一定是mtime。只是与以前使用的值不同,因此浏览器将看到一个新的url并强制加载。我正在研究使用filemtime作为css/js/image文件浏览器缓存破坏技术的一部分,并正在考虑使用memcached缓存mtime是否有助于防止多个文件系统调用。1000个filemtime调用,包括在调用与1000个memcached读取之间清除stat缓存。filemtime要快得多。1000 filemtime take:0.004787 1000 memcache take:0.075099不一定是mtime。只是与以前使用的值不同,因此浏览器将看到新的url并强制加载。