Tempo de vida de cookies em PHP
Você já sabe que os cookies precisam ser definidos com
a função setcookie:
<?php
setcookie('test', 'abcde');
?>
No entanto, esses cookies não duram muito - apenas
até o fechamento do navegador. É possível estender o tempo de vida
de um cookie usando o terceiro parâmetro,
que aceita um momento no tempo no formato
timestamp. Assim que esse momento
chegar - o cookie será automaticamente removido
pelo navegador.
No entanto, definir um momento específico de expiração do cookie não é muito conveniente. Seria mais conveniente definir um cookie, por exemplo, por uma hora a partir do momento atual, ou por um dia, ou por um ano.
Portanto, o terceiro parâmetro é comumente escrito
assim: momento atual + N segundos.
O momento atual no formato timestamp pode
ser obtido usando a função time.
Vamos, por exemplo, definir um cookie por uma
hora. Como uma hora tem 3600 segundos,
adicionaremos esse número ao momento atual:
<?php
setcookie('test', 'abcde', time() + 3600);
?>
Ao definir cookies, geralmente especificamos os segundos
desta forma: - isso é uma hora, 60 * 60 - isso é um dia. E assim por diante.
Isso é feito para que seja óbvio para quem lê o seu
código por quanto tempo o cookie foi definido.
60
* 60 * 24
Vamos, por exemplo, definir um cookie por um dia:
<?php
setcookie('test', 'abcde', time() + 60 * 60 * 24);
?>
Defina algum cookie por um mês.
Defina algum cookie por um ano.
Defina algum cookie por 10 anos.