Php compare file timestamp, чтобы проверить, следует ли его перезаписать

Я создаю конкатенатор файлов 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

Что я здесь делаю не так?

Что произойдет, если вы выведете эхо $ _ftime и $ _ctime

Andreas 13.09.2018 21:28

Почему $ _ftime больше текущее время + 5 минут. Это условие никогда не сбудется. Максимальное время изменения файла может быть текущим. Вы не можете увидеть будущее?

Madhur Bhaiya 13.09.2018 21:29
1
2
368
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы получили это задом наперед.

$_ctime всегда будет временем в будущем. И из-за этого $_ftime никогда не будет больше.

Вы должны добавить пять минут к $_ftime, а не к $_ctime.

А это значит, что вам также нужно сменить >= на <=.

спасибо Андреас. Иногда на этой стороне недели клетки моего мозга нуждаются в пинке

Kevin 13.09.2018 22:33

Другие вопросы по теме