我们在每个网页的标题中都有两个文件 - 一个ccs和一个javascript文件:
<script type="text/javascript" src="/js/scripts.js?1234"></script>
<link href="styles.css?2345" rel="stylesheet" type="text/css" />
每次修改css / javascript文件时,我们都会在文件名末尾增加?1234 参数。最近,该团队的一名成员建议用PHP代码替换这个手动更新(我们有时忘了做),这些代码检查文件修改时间本身:
<script type="text/javascript" src="/js/scripts.js?<?php echo filemtime('/js/scripts.js');?>"/>
<link href="styles.css?<?php echo filemtime('styles.css');?>" rel="stylesheet" type="text/css" />
问题是它发出请求的速度有多慢(如果有的话)?我们应该这样做吗?我们在Amazon EC2上的Linux服务器上运行我们的系统。
答案 0 :(得分:1)
文件时间很慢,但在网页中使用它2次也许没问题。但是我会缓存结果并且只在某个时候更新它(例如使用一个魔方)。
如果您正在检查1000个文件,那么filemtime实际上是DOUBLE 只读文件时使用的时间 的file_get_contents!
- &GT; http://ckon.wordpress.com/2008/09/16/filemtime-the-performance-killer/
答案 1 :(得分:0)
在您的服务器上执行此操作:
$start = microtime(true);
for ($i = 0; $i < 5000; ++$i) {
filemtime('styles.css');
filemtime('/js/scripts.js'); //Seriously, is this file on the root of you server? I don't think so :)
}
echo 'Seconds slower: ' . ((microtime(true) - $start) / 5000) . '.';
它会给你秒:)
但是,你多久更换一次CSS&amp; JS文件?如果它是每分钟,而不是它真的有用,但如果是每个月,我认为这是无用的。