一   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. 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 ...

  2. 【阿里云产品评测】小站长眼中的巅峰云PK

    [阿里云产品评测]小站长眼中的巅峰云PK 阿里云论坛用户:昵称-a5lianmeng 笔者是一名小站长,因狂热互联网,而在毕业后由宅男逐渐进入站长队伍,在毕业后的几年间,经营6个流量类网站,身为站长, ...

  3. Http StatuCode说明

    HTTP 200 - 文件被正常的访问 HTTP 302 - 临时重定向 HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP 401.2 - 未授权:服务器配置问题导 ...

  4. oracle PL/SQL(procedure language/SQL)程序设计(在PL/SQL中使用SQL)

    在PL/SQL程序中,允许使用的SQL语句只有DML和事务控制语句,使用DDL语句是非法的.使用SELECT语句从数据库中选取数据时,只能返回一行数据.使用COMMIT,  ROLLBACK, 和SA ...

  5. oracle PL/SQL(procedure language/SQL)程序设计

    PL/SQL(procedure language/SQL)语言是Oracle对SQL语言的过程化扩充,是一个完整的编程语言.PL/SQL实现了过程化语句(如分支.循环等)与SQL语句的无缝连接,将过 ...

  6. nginx 反向代理设置

    假设对本机80端口的访问为一台服务器,对本机8000端口的访问为另一台服务器,下面这样写一个nginx的反向代理配置,就可以实现所有请求都转移 server {listen 0.0.0.0:80;se ...

  7. 剑指Offer45 约瑟夫环

    /************************************************************************* > File Name: 45_LastNu ...

  8. hdu-5686 Problem B(斐波那契数列)

    题目链接: Problem B Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others) ...

  9. poj 1695 动态规划

    思路:和黑书上的跳舞机类似 #include<map> #include<set> #include<cmath> #include<queue> #i ...

  10. http header详解

    HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模 型,浏览器或其他客户端发出请求,服务器给与响应.就整个网络资源 ...