<?php
    var_dump($_COOKIE);
?>
很久以前的一个页面,我做以上操作的时候,结果是:array(3) { ["name"]=> string(2) "xx" ["age"]=> string(2) "18" ["PHPSESSID"]=> string(32) "49a6559e7caa2d45948bc0d967ef05c8" }从结果看,我可能曾经设置过cookie:name和age,然后设置过session,于是得到一个随机的sessionId,问题在于我当时并没有给cookie设置生存周期,好象如果不设置,cookie在关闭浏览器后就会销毁的,那为什么过了这么久,我还是可以访问呢?还有就是,cookie什么时候存储在浏览器的内存里,什么时候又存储在计算机的硬盘上,我分不清楚,这2种有什么区别或者说法吗?

解决方案 »

  1.   

    在本地开发 php 时,一般都不使用域名。所以 cookie 并不一定是你自己写入的,和可能是在测试人间的系统时写入的。因为都是 localhost 所以就带过来了在浏览网站期间,cookie 存在于内存中。当离开该网站时,尚未失效的cookie将被写入一该网站域名命名的文件中
      

  2.   

    不是说cookie存在于本地硬盘吗
    那浏览器设置里清楚的cookie到底是哪里的cookie?
      

  3.   

    浏览器删除cookie,可以删除到本地的cookie?
      

  4.   

    Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。
    内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会被删除,其存在时间是长期的。所以,按存在时间,可分为非持久Cookie和持久Cookie。