Tiempo de vida de las cookies en PHP
Ya sabes que las cookies se deben escribir con
la función setcookie
:
<?php
setcookie('test', 'abcde');
?>
Sin embargo, estas cookies no viven mucho tiempo - solo
hasta que se cierra el navegador. Se puede extender el tiempo de vida
de la cookie usando el tercer parámetro,
que acepta un momento en el tiempo en formato
timestamp
. En cuanto llegue este momento,
la cookie se eliminará automáticamente
por el navegador.
Sin embargo, no es muy conveniente establecer un momento específico de expiración de la cookie. Sería más conveniente establecer la cookie, por ejemplo, por una hora a partir del momento actual, o por un día, o por un año.
Por lo tanto, el tercer parámetro normalmente se escribe
así: momento actual + N segundos.
El momento actual en formato timestamp se puede
obtener usando la función time
.
Pongamos como ejemplo establecer una cookie por una
hora. Dado que en una hora hay 3600
segundos,
sumemos este número al momento actual:
<?php
setcookie('test', 'abcde', time() + 3600);
?>
Al establecer cookies, normalmente se indican los segundos
de esta forma:
- esto es una hora, 60
* 60
- esto es un día. Y así sucesivamente.
Esto se hace para que a quien lea tu
código le sea obvio por cuánto tiempo
está establecida la cookie.
60
* 60
* 24
Pongamos como ejemplo establecer una cookie por un día:
<?php
setcookie('test', 'abcde', time() + 60 * 60 * 24);
?>
Establece alguna cookie por un mes.
Establece alguna cookie por un año.
Establece alguna cookie por 10
años.