2009-07-20 17 views
2

Ich habe den fließenden Codefügen Sie fünf Minuten zur filemtime Funktion (php) hinzu!

$LastModified = filemtime($somefile) ; 

Ich möchte 10 Minuten hinzufügen modifizierte Zeit dauern und mit der aktuellen Zeit vergleichen dann, wenn $ LastModified + 10 Minuten in die aktuelle Zeit löschen Sie die Datei gleich ist. wie kann ich das machen ?! Ich bin etwas verwirrend mit Unix-Zeitstempel.

Antwort

4

Da der UNIX-Zeitstempel wird in "seit 1970 Sekunden" ausgedrückt, fügen Sie nur fünf Minuten in Sekunden:

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

Oder vielleicht besser lesbar:

$LastModPlusFiveMinutes = strtotime("+5 minutes", $lastModified); 
1

Der Unix-Zeitstempel ist die Anzahl der Sekunden, die seit 1. Januar vergangen, 1970.

daher 10 Minuten Sie müssen hinzufügen 600 (Sekunden) hinzuzufügen. Um die aktuelle Uhrzeit zu erhalten, rufen Sie time().

z.B.

$LastModified = filemtime($somefile); 

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

(Beachten Sie, dass Sie gesagt haben „wenn $ LastModified + 10 Minuten in die aktuelle Zeit löschen Sie die Datei gleich“ - ich nehme an, Sie tatsächlich gemeint gleich oder kleiner als sonst < ersetzen = mit == oben).

0
$LastModified = filemtime($somefile); 
$now = time(); 
if(strtotime($LastModified.'+10 minutes') >= $now){ 
    // delete the file. 
} 

Das sollte TU es.

+0

Ich glaube, Sie gemeint: if (strtotime ($ LastModified '+ 10 Minuten)> = $ jetzt.) –

+0

gah, du hast recht - danke! (fixed) – inkedmn

+0

Das ist alt aber du meinst "filemtime" du hast filemetime. :) –

0

Sie haben 5 Minuten in das Thema und 10 Minuten in den Kontext geschrieben. Auf jeden Fall hier ist der Code

$diff = time() - $LastModified ; 
if($diff >= 10 * 60){ // don't use ==, you may not find the right second.. 
    //action 
} 
Verwandte Themen