【bob体育平台】php cookie操作之队列操作类

2020-02-01 06:02栏目:编程
TAG:

正文实例叙述了php针对cookie操作的行列操作类。分享给大家供我们参照他事他说加以侦查。具体解析如下:

这边富含了从轻巧的cookie操作到我们的cookie队列操作类的操作,对此感兴趣的情侣能够参照一下。

1、设置Cookie

一、PHP 的COOKIE

  1. PHP 的COOKIE

cookie 是生龙活虎种在长间隔浏览器端积累数据并以此来追踪和辨识客商的机制。

    cookie 是一种在中远间距浏览器端储存数据并以此来追踪和甄别客商的体制。
    PHP 在http 协议的头音信里发送cookie,由此  setcookie(卡塔尔     函数必须在其他音讯被输出到浏览器
前调用,那和对  header(卡塔尔国    函数的范围相同。

PHP 在http 合同的头音信里发送cookie,因而 setcookie(卡塔尔国函数必得在其他音讯被输出到浏览器前调用,那和对 header(卡塔尔(قطر‎ 函数的界定相似.

1.1 设置cookie:

能够用 setcookie函数来设置 cookie,也得以经过向顾客端直接发送http 头来设置.

   可以用 setcookie(卡塔尔(قطر‎或 setrawcookie(State of Qatar函数来设置 cookie。也得以透过向客商端直接发送http  头来
设置。
    1.1.1  使用 setcookie(State of Qatar函数设置cookie:
bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure [, bool
httponly]]]]]] )
   name: cookie 变量名
   value: cookie 变量的值
   expire: 保藏期截止的小运
   path: 有效目录
   domain: 有效域名,超级域唯生龙活虎
   secure: 假如值为 1,则cookie 只可以在https 连接上有效,如若为暗中同意值 0,则http 和 https 都可
以。

此间运用 setcookie(卡塔尔函数设置cookie:复制代码 代码如下:bool setcookie ( string name [, string value [,int expire [,string path [,string domain [,bool secure [,bool httponly]]]]]] )

来看多少个例证:

name: cookie 变量名

简单的:

value: cookie 变量的值

SetCookie("MyCookie", "Value of MyCookie");

expire: 保质期截止的时间

 

domain: 有效域名,超级域唯风流浪漫

带失效时间的:

secure: 若是值为 1,则cookie 只可以在https 连接上有效,借使为暗许值 0,则http 和 https 都能够.

 代码如下

来看几个例证,轻巧的:复制代码 代码如下:SetCookie("My库克ie", "Value of MyCookie"卡塔尔(قطر‎;

SetCookie("WithExpire", "Expire in 1 hour", time()+3600);//3600秒=1小时

带失效时间的.代码如下:复制代码 代码如下:SetCookie("WithExpire", "Expire in 1 hour", time;//3600秒=1钟头

何以皆某个:

什么皆有些,代码如下:复制代码 代码如下:Set库克ie("FullCookie", "Full cookie value", time(卡塔尔国+3600, "/forum", ".phpuser.com", 1卡塔尔国;

 代码如下

大家须求用到行列,代码如下:复制代码 代码如下:class QueueSvc {/*{{{*/ private $length; // 队列的长度 private $server_arr; public function __construct { $this->length = $length; $this->server_arr = $server_arr; } public function getServerArr() { return $this->server_arr; } public function set { self::push; } private function push { //有重复的记录,把重复的删掉 if(self::isServerExist{ self::removeRepeat; }else{ if{ //要是已经满了,要把队列最终一个记下删掉 array_pop; } } //尽管队列为空,先置为空数组 if(emptyempty $this->server_arr = array(State of Qatar; //向队列头添扩大少 array_unshift($this->server_arr,$server_name); } private function isFull() { if(is_array && (count >= $this->length)) return true; return false; } private function isServerExist { if(is_array && in_array($server_name,$this->server_arr)) return true; return false; } private function removeRepeat { if(is_array && in_array($server_name,$this->server_arr)) { foreach($this->server_arr as $key=>$value) { if($server_name == $value) { $this->array_remove($this->server_arr,$key); } } } } private function array_remove { array_splice ; } }/*}}}*/require_once; class CookieSvc {/*{{{*/ const COOKIE_KEY = "GAME_SERVER"; const SEPARATE = "|"; const COOKIE_LENGTH = "2"; public function getCookieArr() {/*{{{*/ $server_str = $_COOKIE[self::COOKIE_KEY]; $server_str = $_COOKIE['GAME_SERVER']; if{ $result = array(); }else{ $result = explode(self::SEPARATE,$server_str); } return $result; }/*}}}*/ public function set {/*{{{*/ $server_arr = self::getCookieArr(); if { $que = new QueueSvc(self::COOKIE_LENGTH,$server_arr); $que->set; $server_new = $que->getServerArr(); if) { $cookie_str = implode(self::SEPARATE,$server_new); setcookie(self::COOKIE_KEY,$cookie_str,time; } } }/*}}}*/ }/*}}}*/没多少解释了,这厮家用的相当的少,今日因为须求写的,留一下呢,可能未来还用获得,调用的代码很简单,代码如下:复制代码 代码如下:require_once; require_once; $cookie_id = '4'; CookieSvc::set;那样就足以了,我们能够每趟把$cookie_id换做差异的值,来查看此操作,核查的代码能够用如下代码:复制代码 代码如下:var_dump;

SetCookie("FullCookie", "Full cookie value", time()+3600, "/forum", ".phpuser.com", 1);

版权声明:本文由bob体育app发布于编程,转载请注明出处:【bob体育平台】php cookie操作之队列操作类