1.设置cookie
PHP设置Cookie的最常用方法是setcookie函数,setcookie函数有7个可选
参数,目前最常用的是前5个。
name(Cookie名):可以通过$_COOKIR['name']进行访问
value(Cookie的值)
expire(过期时间)Unix时间戳格式,默认为0,表示浏览器关闭即失效
path(有效路径)如果路径设置为'/',则整个网站都有效
domain(有效域)默认整个域名都有效
例1:
$value="test";
setcookie("TestCookie",$value);
setcookie("TestCookie",$value,time()+3600);//有效期是一小时
setcookie("TestCookie",$value,time()+3600,"/path","imooc.com");//设置路径与域
PHP中还有一个设置Cookie的函数setrawcookie,setrawcookie跟setcookie基本
一样,,唯一不同的就是value值不会自动的进行urlencode,因此在需要的时候要
手动的进行urlencode。
setrawcookie('cookie_name',rawurlencode($value),time()+60*60*24*365);
因为Cookie是通过HTTP标头进行设置的,所以也可以直接使用header方法进行设置。
header("Set-cookie:cookie_name=value");
2.删除cookie
PHP中删除cookie也是采用setcookie函数来实现的。
setcookie("test"," ",time()-1);
在上述代码中,将cookie的过期时间设置到当前时间之前,则该cooki会自动
失效,也就达到了删除cookie的目的。之所以这么设计是因为cookie是通过
HTTP的标头来传递的,客户端根据服务端返回的Set-Cookie段来进行cookie的
设置如果删除cookie需要使用新的Del-cookie来实现,则HTTP头就会变得复杂,
实际上仅通过Set-Cookie就可以简单明了的实现Cookie的设置、更新与删除。
了解远离之后,我们也可以直接通过header来删除cookie。
header("Set-Cookie:test=1234455665;expires=".gmdate('D,d M Y H:i:s \G\M\T',time()-1));
gmdate()用来生成格林威治标准时间,以便删除时差影响。
来源:慕课网(https://www.imooc.com/learn/26)