一   setCookie

            bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )

参数 说明 举例
name Cookie 的名字。 使用 $_COOKIE['cookiename'] 调用名为 cookiename 的 cookie。
value Cookie 的值。此值保存在客户端,不要用来保存敏感数据。 假定 name 是 'cookiename',可以通过 $_COOKIE['cookiename'] 取得其值。
expire

Cookie 过期的时间。这是个 Unix 时间戳,即从 Unix 纪元开始的秒数。换而言之,

通常用 time() 函数再加上秒数来设定 cookie 的失效期。或者用 mktime()来实现。

time()+60*60*24*30 将设定 cookie 30 天后失效。如果未设定,cookie 将会在会话结束后(一般是浏览器关闭)失效。
path Cookie 在服务器端的有效路径。 如果该参数设为 '/' 的话,cookie 就在整个 domain 内有效,如果设为 '/foo/',cookie 就只在 domain 下的 /foo/ 目录及其子目录内有效,例如 /foo/bar/。默认值为设定 cookie 的当前目录。
domain 该 cookie 有效的域名。

要使 cookie 能在如 example.com 域名下的所有子域都有效的话,该参数应该设为 '.example.com'。虽然 . 并不必须的,但加上它会兼容更多的浏览器。

如果该参数设为 www.example.com 的话,就只在 www 子域内有效。细节见 Cookie 规范中的 tail matching。

secure

指明 cookie 是否仅通过安全的 HTTPS 连接传送。当设成 TRUE 时,

cookie 仅在安全的连接中被设置。默认值为 FALSE

01

  

    1、name 和 value 的值均为简单的字符串类型。  

         

            所以下面均为错误写法

              $a=array(1,2)   ; setcookie('num',$a);

    $b=new (对象)  ; setcookie('obj',$b);

                 Warning: setcookie() expects parameter 2 to be string(第二个参数为string)

                      (但是你却可以写上bool的 true, setcookie('num',true);    结果等同于  setcookie('num',1);但是极少这样使用。)

      2、cookie的第三个参数,生存时间。

          setcookie('host','www.xyulife.com',time()+3600);

          上面这段代码是最基本的cookie代码,让我给大家解释一下。

            当用户运行此文件时,执行setcookie函数。生成一个以键为'host' 值为'www.xyulife.com' 生存时间为3600秒的cookie文件,

            此文件可供同域下的文件或者程序使用,3600秒之后此

        

         setcookie('host','www.xyulife.com');

         浏览器不会生成cookie文件,浏览器关闭则cookie失效,在此期间cookie会在浏览器缓存供开发者使用。

    注意一个网站只会生成一个cookie文件,每个浏览器或不同的操作系统生存Cookie文件的地址有所不同,

    xp IE内核的地址为C:\Documents and Settings\Administrator\Cookies,

    至今我还未找到win7 firefox的cookie文件 ,网上说法很多,其中很多是有多所说的位置是缓存文件地址,并不是cookie文件地址,(如果谁找到了 麻烦留言告诉我)

   

    如果你在本地有俩个文件 example  1.php 和2.php

    分别写入 setcookie('a','aaa',time()+300)setcookie('b','aaa',time()+300)  

    那么客户端只会生成一个cookie文件 (针对一个浏览器),其它文件的Cookie操作会在这个Cookie文件的基础上进行修改增加或删除。

  

  The Three

    Cookie 的删除操作

    setcookie('name','',time()-200);

    setcookie('age','',time()-200);

    如果你觉得上述删除麻烦,想一次性删除。你可以这样:

    foreach($_COOKIE as $key => $val){

      setcookie($key,'',time()-200);//可以一次性删除所以cookie

    }

    当这个cookie文件的cookie信息全部被删除后,cookie文件将被清除。

    The Four

    Cookie 的运行机制  。

    现在又俩个文件,1.php 和2.php

    1.php 代码

    setcookie('name','wc',time()+3600);

    2.php 代码

    if(isset($_COOKIE['name'])){

      echo $_COOKIE['name'];

    }

    我开始认为cookie的逻辑是这样的, 在1.php中设置了cookie,然后2.php想要取出cookie,所以2.php就去找cookie文件,并取出相对应的cookie。但是这种想法是错误的。

    实际上逻辑是这样:

        在1.php中设置了cookie,然后跳转的时候浏览器会在http 头 发送你所设置的cookie,并不是去cookie文件中去取,所以这样也就限制了cookie的大小和个数。

                                                                 如果上诉有错误,请留言指出。

Cookie 的运行机制以及常用规则的更多相关文章

  1. 详解Struts1.x的运行机制及命名规则

    Struts1.x 调用一个action的大致流程: 1)首先前端发送 *.do的一个action请求(通过点击表单提交按钮,js 事件等): 2)web.xml 文件通过 *.do 找到 Actio ...

  2. Java学习系列(一)Java的运行机制、JDK的安装配置及常用命令详解

    俗话说:“十五的月亮十六圆”.那学习是不是也是如此呢?如果把月亮看成是我们的愿望,那十五便是我们所处的“高原期”,坚持迈过这个坎,我相信你的愿望终究会现实的.记得马云曾说:今天很残酷,明天更残酷,后天 ...

  3. 理解Cookie和Session机制(转)

    目录[-] Cookie机制 什么是Cookie 记录用户访问次数 Cookie的不可跨域名性 Unicode编码:保存中文 BASE64编码:保存二进制图片 设置Cookie的所有属性 Cookie ...

  4. 关于cookie的文章(cookie与session机制)

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  5. 理解Cookie和Session机制

    转载: 理解Cookie和Session机制 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录 ...

  6. Cookie和Session机制详解

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  7. 深入理解Cookie和Session机制

    转载理解Cookie和Session机制 目录 Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存二进制图片设置Cookie的所有属性Coo ...

  8. cookie和session机制区别

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  9. 正确理解cookie和session机制原理

    php中cookie和session是我们常用的两个变量了,一个是用户客户端的,一个用在服务器的但他们的区别与工作原理怎么样,下面我们一起来看看cookie和session机制原理吧. cookie和 ...

随机推荐

  1. L - Abbott's Revenge(比较复杂的bfs)

    Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice UV ...

  2. How to solve the SVDI SN Number Display Problem

    Yesterday we have learn how to find the SVDI Serial Number, today one of customer from UK look our a ...

  3. Android(java)学习笔记265:Android线程形态之 HandlerThread

    1.  HandlerThread Android HandlerThread 完全解析 Handler与HandlerThread区别,HandlerThread应用(对比AsyncTask) 备注 ...

  4. Handsontable 学习笔记-Methods

    Handson: 亲自实践 先给出数据源和基本配置: var data =[ ["A1","B1","C1","D1"] ...

  5. eclipse添加hadoop开发插件

    在开发hadoop的时候去查找了一下eclipse marketplace是没有找到hadoop的插件,上网又找了一下发现原来hadoop中其实是带有这样的插件的, 其实很简单只要将这个插件复制到ec ...

  6. apache2.4 +django1.9+python3+ubuntu15.10

    这是我这几天学习部署django的总结,中间出现了不少的问题.特此记录下来,用来复习巩固,同时也希望给想学习的同学一些参考. 第一步:我在ubuntu上装的是python3.sudo apt-get ...

  7. DNS resolving 占用大量日志

    公司内部DNS配置好后,测试解析正常,只是几乎每秒都有无法解析的日志产生.但分析日志时发现,每天的日志都有2G左右.日志中几乎全是类似network unreachable resolving 'ww ...

  8. jQuery的deferred对象详解(二)

    Deferred对象是由$.Deferred构造的,$.Deferred被实现为简单的工厂模式. $.Deferred的实现 创建三个$.Callbacks对象,分别表示成功done,失败fail,处 ...

  9. [转]Advanced Oracle SQL Developer Features

    本文转自:http://www.oracle.com/technetwork/cn/server-storage/linux/sqldev-adv-otn-092384.html Advanced O ...

  10. HDU 1257 最少拦截系统 (DP || 贪心)

    最少拦截系统 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Statu ...