| 本文介紹下,一個功能強大的php cookie操作類,可以完成設定cookie、擷取cookie值、刪除cookie值等操作,有需要的朋友參考下。 分享一個php cookie操作的類,可以設定cookie、擷取cookie、刪除cookie。 代碼: _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 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 顯示用於測試的一些cookie值" ;echo " Name: ";echo $_COOKIE['namefirst']; echo " ";echo $_COOKIE['namelast'];echo " Number: ";echo $_COOKIE['number'];echo " Time: ";echo $_COOKIE['time'];echo "
END";?> 3,刪除cookie set();// Clear all values#$PHP_COOKIE->clear();?> |