在cookie设置数组--setcookie的优化
时间:2009-01-13
来源:互联网
作者:bkkkd
平常我们在设置数组时都是这样设置的
[php]
setcookie('var[a]','1');
[/php]
这样设置如果是一两个下标这样子还可以凑和着用,但如果要设置一个比较复杂的数组,那这样设置实在是太麻烦了。
所以我需要可以直接把数据设置到cookie上的函数。
[php]
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;
}
[/php]
在设置cookie时是将数据先经过serialize将数据变成一个字符串,然后再经过base64_encode转化成一个没特殊符号的字符串。把这个字符串设置到cookie中。然后在得到cookie的数据时用getcookie函数取回对应的数据。
这样做的好处正如我之前说的,可以很方便得把数组甚至对像都保存在cookie中。方便进行设置及调用。
当然也会有不足的地方,那就是cookie可以保存的数据量会大大减小,因为保存了很多用于定义数据属性的内容。
作者: bkkkd 发布时间: 2009-01-13
base64_encode 的作用是什么???
作者: 冯.于安 发布时间: 2009-01-13
作者: bkkkd 发布时间: 2009-01-13
作者: hedgelog 发布时间: 2009-01-13
作者: 冯.于安 发布时间: 2009-01-13
没入库也转义?
作者: bkkkd 发布时间: 2009-01-14
cookie本来自己转义, 你非得去手工弄一下, 没办法.
作者: bkkkd 发布时间: 2009-01-14
作者: mizha 发布时间: 2009-01-14
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28