[RESOLU] calcul entre deux timestamp (précis à la seconde)

Avatar du membre
Mammouth du PHP | 1564 Messages

25 déc. 2012, 18:20

Bonjour,

je souhaite savoir combien il reste de temps entre deux timestamp, je m'explique

j'ai créé un système de cache en PHP et je souhaiterai savoir combien de temps il reste avant de mettre à jour la page, jusqu'ici, niveau technique rien de bien compte:
if(time() - filemtime("cache/monfichier.html") > 600) { on remet à jour la page } else { on affiche le cache }
mais j'aimerai afficher au visiteur, combien de minutes et de secondes il reste, je n'y arrive pas.

J'aimerais afficher comme ceci: il reste X minute(s) et X seconde(s)


Merci pour votre aide

Avatar du membre
Mammouth du PHP | 1564 Messages

25 déc. 2012, 22:18

j'ai trouvé la solution qui est vraiment toutes simple en fait, voici ma fonction pour ceux qui la souhaite:
function temps_restant($filemtime,$dans) {
	$resultat = array();
	$r = ($filemtime+$dans)-time();
	$resultat['temps_restant'] = "Il reste ".date("i",$r)." minute".(date("i",$r) > 1 ? "s" : "")." et ".date("s",$r)." seconde".(date("s",$r) > 1 ? "s" : "");
	$resultat['time'] = $r;
	return $resultat;
}
$CheminCache = "cache/monfichier.html";
$test = temps_restant(filemtime($CheminCache),600);
if($test['time'] <= 0) {
	// on update la page mise en cache
} else {
	// on affiche le texte qui dit combien de temps il reste avant la prochaine mise à jour
	echo $test['temps_restant'];
}