本記事では、PHPでCookieの有効期限を設定・変更する方法について解説しています。
![](https://web-engineer-wiki.com/wp-content/uploads/2023/07/php-book.png)
- PHPの基本構文からクラス・データベース連携・セキュリティまで学べる
- PHPによるWebアプリ開発の基礎・基本テクニックを学べる
![](https://web-engineer-wiki.com/wp-content/plugins/pochipp/assets/img/pochipp-logo-t1.png)
![](https://web-engineer-wiki.com/wp-content/uploads/2022/02/cropped-favicon.jpg)
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
![](https://web-engineer-wiki.com/wp-content/uploads/2022/02/woman-icon.jpeg)
![](https://web-engineer-wiki.com/wp-content/uploads/2022/02/woman-icon.jpeg)
![](https://web-engineer-wiki.com/wp-content/uploads/2022/02/woman-icon.jpeg)
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
変数名/関数名にもう悩まない!
![](https://web-engineer-wiki.com/wp-content/uploads/2023/07/code-write.jpeg)
![](https://web-engineer-wiki.com/wp-content/uploads/2023/07/code-write.jpeg)
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
![](https://web-engineer-wiki.com/wp-content/plugins/pochipp/assets/img/pochipp-logo-t1.png)
![](https://web-engineer-wiki.com/wp-content/plugins/pochipp/assets/img/pochipp-logo-t1.png)
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](https://web-engineer-wiki.com/wp-content/uploads/2022/06/cookie-expires01-1024x65.png)
![有効期限を持ったCookie](https://web-engineer-wiki.com/wp-content/uploads/2022/06/cookie-expires01-1024x65.png)
10秒後にページをリロードすると、Cookie情報からCOUNTが削除されていることが確認出来ました。
![有効期限が切れたCookie](https://web-engineer-wiki.com/wp-content/uploads/2022/06/cookie-expires02-1024x79.png)
![有効期限が切れたCookie](https://web-engineer-wiki.com/wp-content/uploads/2022/06/cookie-expires02-1024x79.png)
確認する時の注意点として、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ヶ月を秒数で求めることが出来ます。