php cookie expires,php cookie类(设置、获取、删除cookie值)
分享一个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值)相关推荐
- js设置获取删除cookie
/* cookie 会有一个过期时间,如果不设置过期时间那么关闭页面就会消失,如果想要删除这个cookie的话就要设置一个过期时间,存储大小只有4kb左右设置无过期时间: document.cooki ...
- 前端cookie的设置获取删除
前端cookie的设置获取删除 /* 我们有过这样的经历,当我们登录一个网站时候,网站会提示我们需不需要记住账号和密码一般来说,当我们登录一个网站时,后台会返回一个token字符串作为用户的登录标识, ...
- PHP 设置与删除cookie
1.设置cookie PHP设置Cookie的最常用方法是setcookie函数,setcookie函数有7个可选 参数,目前最常用的是前5个. name(Cookie名):可以通过$_COOKIR[ ...
- 无障碍开发(五)之设置获取无障碍属性值
设置获取无障碍属性值 为了跨浏览器兼容,总是使用WAI-ARIA属性解析来访问和修改ARIA属性,例如object.setAttribute("aria-valuenow", ne ...
- js 获取删除cookie
获取cookie function getCookie(name){let reg=RegExp(name+'=([^;]+)');let arr=document.cookie.match(reg) ...
- php setcookie 参数1,使用setcookie函数一步搞定设置和删除cookie
PHP设置Cookie最常用的方法就是使用setcookie函数,setcookie具有7个可选参数,我们常用到的为前5个: name( Cookie名)可以通过$_COOKIE["name ...
- java删除cookie信息_java如何设置和删除cookie
/** * 删除cookie */ public static void clearCookie(HttpServletRequest request,HttpServletResponse resp ...
- response响应(cookie携带数据、取数据、删除cookie)
request是请求数据,(主要是get.post后端怎么获取数据) response是响应(主要是cookie.session怎么在后端获取) 前端代码 <!DOCTYPE html> ...
- Android从url不产生cookie,如何从android.webkit.CookieManager获取所有cookie或cookie的URL
主要是,我使用webview进入facebook.所以,我不知道哪些cookie被保存到CookieManager中.我不知道是否可能,但我知道如何做到这一点. 现在,我需要使用Jsoup获取页面.但 ...
- Redis 笔记(05)— hash 类型(设置获取单个hash值、判断hash键是否存在、设置获取多个hash值、获取所有hash的键、获取所有hash的值、删除hash指定键)
Redis 的字典是无序字典.Redis 的字典的值只能是字符串,当 hash 移除了最后一个元素之后,该数据结构自动被删除,内存被回收. hash 结构也可以用来存储用户信息,不同于字符串一次性需要 ...
最新文章
- mysql性能调优快捷键_mysql优化篇
- 有哪些通俗易懂的例子可以解释 IaaS、PaaS、SaaS 的区别?
- 面试官:知道时间轮算法吗?在Netty和Kafka中如何应用的?
- java之RSA和Base64加密帮助类
- Hadoop入门(六)Mapreduce
- OS X下使用OpenGL做离屏渲染
- OpenCV——绘制基本图形
- 5G +边缘计算,优酷如何做云渲染?
- mac 安装memcached服务
- java线程协作_java线程系列之三(线程协作)
- 一致性hash算法Consistent Hashing
- 解决系统性能问题:线程增加导致堆增加
- android API Guides学习--Introduction(1)
- 一张图慢慢转换成下一张图_如何把一张照片变成炫酷的动图?
- python 直方图匹配_Python OpenCV 直方图匹配
- MapReduce之Map join操作
- android曲面屏点击事件无响应,都说曲面屏中看不中用,主要原因有四点,第三点是关键!...
- 编写Windows服务程序,将Python作为Windows服务启动
- 毕设(一):正则化极限学习机(RELM)、在线学习的极限学习机(OS-ELM)、带遗忘机制的在线学习极限学习机(FOS-ELM)
- Python-Flask开发微电影网站(四)
热门文章
- 程序基础:数据结构(郝斌讲解)(一)
- linux ftp服务器构建
- 【转】matlab 生成调用c/c++ 代码 mex 简单实用——修改部分
- c语言stdio中null的值,C/C++编程笔记:C语言NULL值和数字 0 值区别及NULL详解
- 从黄昏到夜暮 2021-04-15
- 系列笔记 | 深度学习连载(6):卷积神经网络基础
- python类的方法三种访问权_Python基础33-面向对象(继承资源(属性与方法)的使用注意)...
- TWebBrowser禁止弹出Alert对话框
- u-boot编译过程分析
- 数字人民币明确不采用区块链技术,对数字货币投资须保持警惕