首页 > 解决方案 > PHP比较文件时间戳以检查它是否应该被覆盖

问题描述

我正在为自己构建一个 CSS 文件连接器,并希望能够指定几分钟来保持连接的文件不被覆盖。

如果它超过了这么多分钟,它应该被覆盖。

这是我的代码

$_file = "/my/valid/file/location.css"

$_numberofminutes = 5;

$_ftime = filemtime( $_file ); // returns me an integer of the last modified date
$_ctime = strtotime( '+' . $_numberofminutes . ' minutes' ); // returns me NOW +5 minutes

if( ( $_ftime >= $_ctime ) ) {
    var_dump( 'overwrite' );
}

不管我等多久,我从来没有看到overwrite

我在这里做错了什么?

标签: phpfiledatetimetimestamp

解决方案


你把它弄反了。

$_ctime将永远是未来的某个时间。
正因为如此,$_ftime永远不会更大。

您应该将五分钟添加到$_ftimenot $_ctime

这意味着您还需要更改>=<=


推荐阅读