設置cookie時是將數據先經過serialize將數據變成一個字符串,然後再經過base64_encode轉化成一個沒特殊符號的字符串。把這個字符串設置到cookie中。然後在得到cookie的數據時用getcookie函數取回對應的數據。
這樣做的好處正如我之前說的,可以很方便得把數組甚至對像都保存在cookie中。方便進行設置及調用。
當然也會有不足的地方,那就是cookie可以保存的數據量會大大減小,因為保存了很多用於定義數據屬性的內容。
function MyCookie($var,$value='',$lifetime='Y')
{
if($value!='')
{
$value=base64_encode(serialize($value));
}
if($lifetime=='D')
{
$lifetime=time()+86400;
}
setcookie($var,$value,$$lifetime);
}
function GetCookie($var)
{
$value='';
if(array_key_exists($var,$_COOKIE)
{
$value=$_COOKIE[$var];
$value=unserialize(base64_decode($value));
}
return $value;
}