老莫的笔记本  
  
查看: 933|回复: 0

PHP cookie

[复制链接]

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
发表于 2018-7-22 22:38:13 | 显示全部楼层 |阅读模式
你说我一个 node 全栈 的 大前端 , 居然跑 PHP里 研究 cookie  我一定是有病!
简介:
   cookie 通过  HTTP headers 从服务端返回到客户端。
   PHP  通过setcookie 函数进行cookie 的设置,任何从浏览器发回的cookie, php都会自动将其存储在 $_COOKIE 的全局变量之中,因此我们可以通过 $_COOKIE['key']的形式来读取,
  ob_start() ;      //打开输出控制缓冲 ;
  ob_clean() ;    // 清空(擦掉)输出缓冲区。

设置cookie
   set cookie ------ --具有7个可选参数,
   name( cookie名 ) --可以通过 $_COOKIE['name'] 进行访问。
   value( cookie值 )
  expire(过期时间) Unix时间戳格式,默认 0 表示浏览器关闭即失效;
  path (有效路径) 如果路径设置为'1' ,则整个网站都有效;
  domain(有效域 ) 默认整个域名都有效, 如果设置了 'www.dengmichong.top'  则只在www子域中有效。

setrawcookie 跟 setcookie 基本一样,唯一不同就是 value值不会自动的进行 unlencode 【就是设置编码】 ,因此,在需要的时候要进行手动的unlencode
    例: setrawcookie('cookie_name',rawurlencode($value),time()+60*60*24*365);
【因为cookie是通过 HTTP 标头进行设置的,所以也可以直接使用header进行设置  header("Set-Cookie:cookie_name=value");) 】

cookied 的删除与 过期时间。
setcookie('test','',time()-1);
【也可以直接通过 header来删除 cookie header("Set-Cookie:test= 1393832059; expires=".gmdatec'D,dMYH:i:s \G\M', time()-1); 不保证正确 无所谓 从前端操作cookie比较合适】

cookie的路径
cookie路径默认为 '/' ,在所有路径下都有,当设定了其他路径之后,则只能在设定的路径以及子路径下有效;  // 其实这是前端的东西








回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表