分享一个php cookie操作的类,可以设置cookie、获取cookie、删除cookie。

代码:

/**

* php cookie类

* class:PHP_COOKIE

* by www.jbxue.com

*/

class PHP_COOKIE

{

var $_name = "";

var $_val = array();

var $_expires;

var $_dir = '/';// all dirs

var $_site = '';

function PHP_COOKIE($cname, $cexpires="", $cdir="/", $csite="")

{

$this->_name=$cname;

if($cexpires){

$this->_expires=$cexpires;

}

else{

$this->_expires=time() + 60*60*24*30*12; // ~12 months

}

$this->_dir=$cdir;

$this->_site=$csite;

$this->_val=array();

$this->extract();

}

function extract($cname="")

{

if(!isset($_COOKIE)){

global $_COOKIE;

$_COOKIE=$GLOBALS["HTTP_COOKIE_VARS"];

}

if(empty($cname) && isset($this)){

$cname=$this->_name;

}

if(!empty($_COOKIE[$cname])){

if(get_magic_quotes_gpc()){

$_COOKIE[$cname]=stripslashes($_COOKIE[$cname]);

}

$arr=unserialize($_COOKIE[$cname]);

if($arr!==false && is_array($arr)){

foreach($arr as $var => $val){

$_COOKIE[$var]=$val;

if(isset($GLOBALS["PHP_SELF"])){

$GLOBALS[$var]=$val;

}

}

}

if(isset($this)) $this->_val=$arr;

}

// 在全局范围内移除cookie

unset($_COOKIE[$cname]);

unset($GLOBALS[$cname]);

}

function put($var, $value)

{

$_COOKIE[$var]=$value;

$this->_val["$var"]=$value;

if(isset($GLOBALS["PHP_SELF"])){

$GLOBALS[$var]=$value;

}

if(empty($value)){

unset($this->_val[$var]);

}

}

function clear()

{

$this->_val=array();

}

function set()

{

if(empty($this->_val)){

$cookie_val="";

}

else {

$cookie_val=serialize($this->_val);

}

if(strlen($cookie_val)>4*1024){

trigger_error("The cookie $this->_name exceeds the specification for the maximum cookie size. Some data may be lost", E_USER_WARNING);

}

setcookie("$this->_name", $cookie_val, $this->_expires, $this->_dir, $this->_site);

}

}

?>

调用示例:

1,设置cookie

//cookie操作类

include("class.cookie.php");

// Create a local object

$PHP_COOKIE=new PHP_COOKIE("test_cookie");

// Add the variables to be saved in the cookie

$PHP_COOKIE->put("namefirst","Jo");

$PHP_COOKIE->put("namelast","Foo");

$PHP_COOKIE->put("number","1234");

$PHP_COOKIE->put("time",time());

// Set the cookie

$PHP_COOKIE->set();

$PHP_COOKIE=new PHP_COOKIE("test_cookie 123");

// Add the variables to be saved in the cookie

$PHP_COOKIE->put("namefirst","Jo123");

$PHP_COOKIE->put("namelast","Foo13");

$PHP_COOKIE->put("number","123413");

// Set the cookie

$PHP_COOKIE->set();

echo "
The values saved in the cookie test_cookie are:";

echo "
namefirst: = $_COOKIE[namefirst]";

echo "
namelast: = $_COOKIE[namelast]";

echo "
number: = $_COOKIE[number]";

echo "
time: = $_COOKIE[time]";

echo "
END";

?>

2,获取cookie

include("class.cookie.php");

//获取cookie

//从保存的cookie中解析变量,然后加入自己的cookies中

PHP_COOKIE::extract("test_cookie");

//显示cookie

echo "
显示用于测试的一些cookie值" ;

echo "
Name: ";

echo $_COOKIE['namefirst'];

echo " ";

echo $_COOKIE['namelast'];

echo "
Number: ";

echo $_COOKIE['number'];

echo "
Time: ";

echo $_COOKIE['time'];

echo "
END";

?>

3,删除cookie

include("class.cookie.php");

//删除cookie

//方法1. 设置cookie过期时间

//方法2. 调用 clear()与 set()方法

// Create a local object

$PHP_COOKIE=new PHP_COOKIE("test_cookie", time()-86400);

// Set the cookie

$PHP_COOKIE->set();

// Clear all values

#$PHP_COOKIE->clear();

?>

php cookie expires,php cookie类(设置、获取、删除cookie值)相关推荐

  1. js设置获取删除cookie

    /* cookie 会有一个过期时间,如果不设置过期时间那么关闭页面就会消失,如果想要删除这个cookie的话就要设置一个过期时间,存储大小只有4kb左右设置无过期时间: document.cooki ...

  2. 前端cookie的设置获取删除

    前端cookie的设置获取删除 /* 我们有过这样的经历,当我们登录一个网站时候,网站会提示我们需不需要记住账号和密码一般来说,当我们登录一个网站时,后台会返回一个token字符串作为用户的登录标识, ...

  3. PHP 设置与删除cookie

    1.设置cookie PHP设置Cookie的最常用方法是setcookie函数,setcookie函数有7个可选 参数,目前最常用的是前5个. name(Cookie名):可以通过$_COOKIR[ ...

  4. 无障碍开发(五)之设置获取无障碍属性值

    设置获取无障碍属性值 为了跨浏览器兼容,总是使用WAI-ARIA属性解析来访问和修改ARIA属性,例如object.setAttribute("aria-valuenow", ne ...

  5. js 获取删除cookie

    获取cookie function getCookie(name){let reg=RegExp(name+'=([^;]+)');let arr=document.cookie.match(reg) ...

  6. php setcookie 参数1,使用setcookie函数一步搞定设置和删除cookie

    PHP设置Cookie最常用的方法就是使用setcookie函数,setcookie具有7个可选参数,我们常用到的为前5个: name( Cookie名)可以通过$_COOKIE["name ...

  7. java删除cookie信息_java如何设置和删除cookie

    /** * 删除cookie */ public static void clearCookie(HttpServletRequest request,HttpServletResponse resp ...

  8. response响应(cookie携带数据、取数据、删除cookie)

    request是请求数据,(主要是get.post后端怎么获取数据) response是响应(主要是cookie.session怎么在后端获取) 前端代码 <!DOCTYPE html> ...

  9. Android从url不产生cookie,如何从android.webkit.CookieManager获取所有cookie或cookie的URL

    主要是,我使用webview进入facebook.所以,我不知道哪些cookie被保存到CookieManager中.我不知道是否可能,但我知道如何做到这一点. 现在,我需要使用Jsoup获取页面.但 ...

  10. Redis 笔记(05)— hash 类型(设置获取单个hash值、判断hash键是否存在、设置获取多个hash值、获取所有hash的键、获取所有hash的值、删除hash指定键)

    Redis 的字典是无序字典.Redis 的字典的值只能是字符串,当 hash 移除了最后一个元素之后,该数据结构自动被删除,内存被回收. hash 结构也可以用来存储用户信息,不同于字符串一次性需要 ...

最新文章

  1. mysql性能调优快捷键_mysql优化篇
  2. 有哪些通俗易懂的例子可以解释 IaaS、PaaS、SaaS 的区别?
  3. 面试官:知道时间轮算法吗?在Netty和Kafka中如何应用的?
  4. java之RSA和Base64加密帮助类
  5. Hadoop入门(六)Mapreduce
  6. OS X下使用OpenGL做离屏渲染
  7. OpenCV——绘制基本图形
  8. 5G +边缘计算,优酷如何做云渲染?
  9. mac 安装memcached服务
  10. java线程协作_java线程系列之三(线程协作)
  11. 一致性hash算法Consistent Hashing
  12. 解决系统性能问题:线程增加导致堆增加
  13. android API Guides学习--Introduction(1)
  14. 一张图慢慢转换成下一张图_如何把一张照片变成炫酷的动图?
  15. python 直方图匹配_Python OpenCV 直方图匹配
  16. MapReduce之Map join操作
  17. android曲面屏点击事件无响应,都说曲面屏中看不中用,主要原因有四点,第三点是关键!...
  18. 编写Windows服务程序,将Python作为Windows服务启动
  19. 毕设(一):正则化极限学习机(RELM)、在线学习的极限学习机(OS-ELM)、带遗忘机制的在线学习极限学习机(FOS-ELM)
  20. Python-Flask开发微电影网站(四)

热门文章

  1. 程序基础:数据结构(郝斌讲解)(一)
  2. linux ftp服务器构建
  3. 【转】matlab 生成调用c/c++ 代码 mex 简单实用——修改部分
  4. c语言stdio中null的值,C/C++编程笔记:C语言NULL值和数字 0 值区别及NULL详解
  5. 从黄昏到夜暮 2021-04-15
  6. 系列笔记 | 深度学习连载(6):卷积神经网络基础
  7. python类的方法三种访问权_Python基础33-面向对象(继承资源(属性与方法)的使用注意)...
  8. TWebBrowser禁止弹出Alert对话框
  9. u-boot编译过程分析
  10. 数字人民币明确不采用区块链技术,对数字货币投资须保持警惕