概念:服务器保存在用户浏览器(客户端)上的小文本文件(通过HTTP协议响应头设置),它可以包含有关用户的信息。
cookie原理:服务器将数据通过HTTP响应存储到浏览器上,浏览器可以在以后携带对应的COOKIE数据访问服务器。

<?php
    setcookie('name',1550983275);
    setcookie('value','zxc111');
    var_dump($_COOKIE);
?>
  • cookie名的设置:字符串,第一个参数
  • cookie值的设置:第二个参数
  • cookie值的类型要求:必须是简单类型中的整数或者字符串

读取COOKIE信息$_COOKIE

COOKIE生命周期:

<?php
    setcookie('name','fuqiang');
    setcookie('value','zxc111',7*24*60*60);//从1970年格林威治时间开始七天后结束。可以用做cookie的立即结束,也可以用time()代替。
    setcookie('age',18,time()+7*24*60*60);//格林威治时间算从现在开始到七天结束。
    setcookie('name','');//删除cookie,其实是个假删除只是将值设置为空而已。

?>

COOKIE作用范围:

setcookie('localhost','zxc111',0,'/');//全局

COOKIE跨子域:
跨子域:在同一级别域名下,myitcast.com(一级域名),可以有多个子域名(www.myitcast.com 和gz.myitcast.com),他们之间是搭建在不同的服务器上(不同文件夹:E:/server/apache/htdocs和E:/web),但是可以通过COOKIE设置实现对应的COOKIE共享访问。但是默认是不允许跨域名访问的。

COOKIE数组数据:

OOKIE本身只支持简单数据(数字或者字符串),能够保留的数据本身有限,也不成体系。如果需要使用COOKIE来保留一组数据的化,想办法凑成数组。(COOKIE不支持数组)(浏览器不认识中括号,但是php对中括号一见钟情,会当做数组处理)

<?php
    //var_dump($_COOKIE);
    //setcookie('localhost','zxc111',0,'/');
    setcookie('name[0]','zhangsan');
    setcookie('name[1]','lisi');
    setcookie('name[2]','wangwu');
    setcookie('name[3]','zhaoliu');
    echo '<pre>';
    print_r($_COOKIE);
?>

请输入图片描述