php cookie類(設定、擷取、刪除cookie值)

來源:互聯網
上載者:User
本文介紹下,一個功能強大的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();?>
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.