PHPにおけるクッキーの寿命
クッキーはsetcookie関数を使って書き込む必要があることをすでにご存知でしょう。
<?php
setcookie('test', 'abcde');
?>
しかし、このようなクッキーの寿命は長くありません — ブラウザを閉じるまでだけです。クッキーの寿命を延ばすには、3番目のパラメータを使用します。このパラメータはtimestamp形式の時刻を受け取り、その時刻が来るとクッキーはブラウザによって自動的に削除されます。
しかし、クッキーの削除時刻を具体的に設定するのはあまり便利ではありません。現在時刻から例えば1時間、1日、1年といった形で設定できた方が便利です。
そのため、3番目のパラメータは通常、現在時刻 + N秒 という形で記述されます。現在時刻はtime関数で取得できます。
例として、クッキーを1時間に設定してみましょう。1時間は3600秒なので、この数を現在時刻に加算します。
<?php
setcookie('test', 'abcde', time() + 3600);
?>
クッキーを設定する際、秒数は通常(1時間)、60 * 60(1日)といった形で記述されます。これは、コードを読む人にクッキーの有効期間が明確に分かるようにするためです。
60 * 60 * 24
例として、クッキーを1日に設定してみましょう。
<?php
setcookie('test', 'abcde', time() + 60 * 60 * 24);
?>
何らかのクッキーを1か月間に設定してください。
何らかのクッキーを1年間に設定してください。
何らかのクッキーを10年間に設定してください。