PHP中SESSION和COOKIE用法

来源:互联网 发布:sql中group by的用法 编辑:程序博客网 时间:2024/06/07 11:04

今天用session和cookie写了一个小程序,主要是为了加深对了解这个两个用法。

说明:要是存放值时间较长推荐使用COOKIE,时间较短推荐使用SESSION

1.存放的位置

   SESSION:存放的位置可以在php代码中加这么一段ini_set('session.save_path','/tmp/');也可以再php.ini配置文件中修改这个  session.save_path = "D:/wamp/tmp"

  COOKIE:存放在用户本地磁盘中的,可以再IE浏览器“工具->Internet选项->常规”找到cookie设置。

2.设置有效时间

SESSION:
ini_set('session.gc_maxlifetime',24*3600);//session保存一天
session_start();
$_SESSION[‘web_name’]='网易';
说明:好像默认是时间是:20-24分钟,但是关闭浏览器session就自动消失了!

 

COOKIE:(存放cookie值时最好写上存放cookie值路径)

$path="/";  //设置cookie存放的路径;1.默认存放是本目录,只有本目录下才能访问,2.“/”表示存放在根目录,3.“/foo/”只有foo文件夹下面文件才能访问

setcookie("cookiename","网易'", time()+intval(24*3600),$path); /* 有效期 1天 */

注意:cookie存放的值只能是string类型的,但是要存放数值怎么解决呢!

存储:

$array=array('a','b');
//"serialize:"返回值是一个字符串。有的时候为了把一些数据转为字符串存起来,但是希望保持数据原来有结构和内容。就要用到这个函数。
$res=serialize($array);
setcookie("snsresult",$res,time()+intval(24*3600));

读取:
//恢复serialize对象

 $other = StripSlashes($_COOKIE['snsresult']);//必须执行这步
  $arr=unserialize($other);//先将加密cookie进行解码

注意:setcookie在代码中存取值时前面是不可以输出任何内容的,空行也不可以,不然cookie是没有值的

原创粉丝点击