TOP ▲
itcore TOP プログラムパーツ
uCookieSetArray 配列データをクッキーへ保存する。個々の値は配列の要素としてセットする。 | itcore 2017年
PHP
関数
<?php
// 配列データをクッキーへ保存する。個々の値は配列の要素としてセットする。
// HTML出力の前に実行(HTTPヘッダ情報として送信)する必要がある。
// uCookieSetArray($a_cookie);
function uCookieSetArray($a_cookie) {
$value = serialize($a_cookie); // バイナリ文字列に変換
$value = gzcompress($value); // 圧縮
$value = base64_encode($value); // BASE64エンコード
setcookie("a_cookie", $value, time()+60*60*24*30); // 30日間有効
}
// 配列データをクッキーから取得する。個々の値は配列の要素としてセットされている。
// $a_cookie = uCookieGetArray();
function uCookieGetArray() {
if (!isset($_COOKIE["a_cookie"])) return array(); // クッキーが保存されていない場合。
$value = $_COOKIE["a_cookie"]; // クッキーデータ
$value = base64_decode( $value ); // BASE64デコード
$value = gzuncompress( $value ); // 解凍
$a_cookie = unserialize( $value ); // 配列に戻す。
return $a_cookie;
}
?>
テスト
<?php include "uCookieSetArray.func"; ?>
<?php
$a_cookie = uCookieGetArray(); // クッキー情報取得
if (!isset($a_cookie["count"])) $a_cookie["count"] = 0;
$a_cookie["count"]++;
if (10 < $a_cookie["count"]) $a_cookie["count"] = 0;
uCookieSetArray($a_cookie); // クッキー情報セット
$count = $a_cookie["count"];
echo "count=$count<br>\n";
echo "ブラウザを更新してください。<br>\n";
?>
実行結果
count=1
ブラウザを更新してください。