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

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

  2. Xutils3的使用

    Xutils是前两年很火的一个三方库(githup地址),是一个工具类,分为4个模块:DbUtils.HttpUtils.ViewUtils. BitmapUtils,还有一个非常使用功能就是LogU ...

  3. GCD三种队列

    :dispatch_get_global_queue 后台执行队列 :dispatch_get_main_queue 主队列 :dispatch_queue_create("test&quo ...

  4. 【开源项目5】测滑菜单MenuDrawer的使用以及解析

    在安卓中左右侧滑菜单的使用用的比ios多得多,可能是谷歌带的头吧,几乎所有的谷歌应用都有侧滑菜单.谷歌没有开放这个源码,在一个成熟的开源代码出现之前,大家都是各自为战,偶尔能看到一个勉强实现了的.Me ...

  5. 一个Java线程死锁的例子

    package com.lk.B; public class Test4 { private static final Object o1 = new Object(); private static ...

  6. 【转】Eclipse中一键调用javah生成jni的头文件

    这里定义了一个本地方法jni_test,该方法返回一个String.其中System.loadLibrary是用来加载本地库的(dll或者so). 有了这个类以后,就可以调用javac命令编译,得到E ...

  7. 怒刷DP之 HDU 1029

    Ignatius and the Princess IV Time Limit:1000MS     Memory Limit:32767KB     64bit IO Format:%I64d &a ...

  8. # 基于Gitolite搭建Git Server - 支持SSH&HTTP

    Git, 一个分布式的版本管理工具,我认为其革命性的点:在于改变了用户协作的方式,使得协作更简单. 下面讲述 使用一个开源软件 Gitolite搭建一个Git Sever, 并给了一个推荐的团队协助方 ...

  9. JS each 跳出

    break 对应的是 return false continue 对应的是 return true 这个问题每次都会记不清,都要去查一遍百度再确定答案,在这里也记一遍好了. function getP ...

  10. 微信小程序个人理解

    1:小程序不是用HTML5开发,它是由微信全新定义的规范,是基于XML+JS的,不支持也不兼容HTML,兼容受限的部分CSS写法.(wxml) weixin markup language 2:小程序 ...