【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

【PHP】Cookieの有効期限を設定・変更する方法

本記事では、PHPでCookieの有効期限を設定・変更する方法について解説しています。

PHPの学習におすすめ書籍
独習PHP 第4版
総合評価
( 5 )
メリット
  • PHPの基本構文からクラス・データベース連携・セキュリティまで学べる
  • PHPによるWebアプリ開発の基礎・基本テクニックを学べる
楽天ブックス
¥3,740 (2024/11/20 10:27時点 | 楽天市場調べ)
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

Cookieの有効期限を設定・変更

Cookieの有効期限を設定・変更するには、Expires / Max-ageに有効期限をセットします。Expires / Max-ageに有効期限をセットする方法は以下のとおりです。

<?php
setcookie('name', value, [
    'expires' => time,
]);
?>

第三引数に連想配列を設定し、keyに「expires」を指定し値にはCookieの有効期限を秒単位でセットします。

実際にCookieに有効期限を持たせ、有効期限を過ぎた時にCookieが消されるかを確認してみましょう。

<?php
setcookie('COUNT', 1, [
    'expires' => time() + 10,
]);
?>

有効期限10秒のCookie(COUNT)を作成しました。これをCookie情報で確認していきましょう。

まずはCOUNTという名前でCookieに登録されていることが確認出来ます。

有効期限を持ったCookie
有効期限を持ったCookie

10秒後にページをリロードすると、Cookie情報からCOUNTが削除されていることが確認出来ました。

有効期限が切れたCookie
有効期限が切れたCookie

確認する時の注意点として、Cookieをセットするコードを残した状態でリロードすると再度Cookieに登録されてしまいますので、確認する時はコードを一度削除またはコメントアウトしてからリロードしてください。

有効期限の設定値を紹介

1日有効なCookie

有効期限が1日のCookieを作成する方法は以下のとおりです。

<?php
setcookie('COUNT', 1, [
    'expires' => time() + 60 * 60 * 24,
]);
?>

最初の60秒は1分を表し、それに対して60をかけることにより1時間になります。一日は24時間なのでさらに24をかけてあげることにより1日を秒数で求めることが出来ます。

1ヶ月有効なCookie

有効期限が1ヶ月のCookieを作成する方法は以下のとおりです。

<?php
setcookie('COUNT', 1, [
    'expires' => time() + 60 * 60 * 24 * 30,
]);
?>

60 * 60 * 24は先ほど解説した通り、1日を表します。1ヶ月が30日と仮定した場合、その値に30をかけてあげることによって1ヶ月を秒数で求めることが出来ます。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次