добавить пять минут в функцию filemtime (php)! - PullRequest
2 голосов
/ 21 июля 2009

у меня есть текущий код

$LastModified = filemtime($somefile) ;

Я хочу добавить десять минут к последнему измененному времени и сравнить с текущим временем, а затем, если $ LastModified + 10 минут равен текущему времени, удалить файл. Как мне это сделать ?! Я немного путаюсь с меткой времени Unix.

Ответы [ 4 ]

4 голосов
/ 21 июля 2009

Поскольку отметка времени UNIX выражается в «секундах с 1970 года», вы просто добавляете пять минут в секундах:

$LastModPlusFiveMinutes = $lastModified + (60 * 5);

Или, может быть, более читабельно:

$LastModPlusFiveMinutes = strtotime("+5 minutes", $lastModified);
1 голос
/ 21 июля 2009

Метка времени Unix - это количество секунд, прошедших с 1 января 1970 года.

Поэтому, чтобы добавить 10 минут, вам нужно добавить 600 (секунд). Чтобы узнать текущее время звоните time().

, например

$LastModified = filemtime($somefile);

if ($LastModified+600 <= time())
{
    // delete the file
}

(Обратите внимание, что вы сказали, что "если $ LastModified + 10 минут равен текущему времени, удалите файл" - я предполагаю, что вы на самом деле имели в виду равен или меньше, в противном случае замените <= на == выше). </p>

0 голосов
/ 21 июля 2009

Вы написали 5 минут в теме и 10 минут в контексте. В любом случае вот код

$diff =  time() - $LastModified ;
if( $diff >= 10 * 60 ){  // don't use ==, you may not find the right second..
    //action
}
0 голосов
/ 21 июля 2009
$LastModified = filemtime($somefile);
$now = time();
if(strtotime($LastModified.'+10 minutes') >= $now){
    // delete the file.
}

Это должно сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...