1. 程式人生 > >ThinkPHP cookie方法

ThinkPHP cookie方法

cookie函式也是一個多元化操作函式,完成cookie的設定、獲取和刪除操作。
Cookie 用於Cookie 設定、獲取、刪除操作
用法 cookie($name, $value='', $option=null)
引數 name(必須):要操作的cookie變數
value(可選):要設定的cookie值
option(可選):傳入的cookie設定引數,預設為空
返回值 見詳(根據具體的用法返回不同的值)

Cookie設定

  1. cookie('name','value');//設定cookie
  2. cookie('name','value',3600);// 指定cookie儲存時間
複製程式碼 3.1版本開始,cookie方法增加對陣列的支援(採用輕量級的json編碼格式儲存 減少儲存空間),例如:[-more-]
  1. cookie('name',array('name1','name2'));
複製程式碼 還可以支援引數傳入的方式完成複雜的cookie賦值,下面是對cookie的值設定3600秒有效期,並且加上cookie字首think_
  1. cookie('name','value',array('expire'=>3600,'prefix'=>'think_'))
複製程式碼 陣列引數可以採用query形式引數
  1. cookie('name','value','expire=3600&prefix=think_')
複製程式碼 和上面的用法等效。
傳入的option引數支援prefix,expire,path,domain四個索引引數,如果沒有傳入或者傳入空值的話,會預設取COOKIE_PREFIX、COOKIE_EXPIRE、COOKIE_PATH和COOKIE_DOMAIN四個配置引數。如果只傳入個別引數,那麼也會和預設的配置引數合併。

Cookie獲取

獲取cookie很簡單,無論是怎麼設定的cookie,只需要使用:
  1. $value = cookie('name');
複製程式碼 如果沒有設定cookie字首的話 相當於
  1. $value = $_COOKIE['name']
複製程式碼 如果設定了cookie字首的話,相當於
  1. $value = $_COOKIE['字首+name']
複製程式碼

Cookie刪除

刪除某個cookie的值,使用:
  1. cookie('name',null);
複製程式碼 要刪除所有的Cookie值,可以使用
  1. cookie(null);// 清空當前設定字首的所有cookie值
  2. cookie
    (null,'think_');//  清空指定字首的所有cookie值