概念:服务器保存在用户浏览器(客户端)上的小文本文件(通过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);
?>