cookie函數也是一個多元化操作函數,完成cookie的設置、獲取和刪除操作。
Cookie 用於Cookie 設置、獲取、刪除操作
用法
cookie($name, $value='', $option=null)
參數
name(必須):要操作的cookie變量
value(可選):要設置的cookie值
option(可選):傳入的cookie設置參數,默認為空
返回值
見詳(根據具體的用法返回不同的值)
Cookie設置
- cookie('name','value'); //設置cookie
- cookie('name','value',3600); // 指定cookie保存時間
復制代碼
3.1版本開始,cookie方法增加對數組的支持(采用輕量級的json編碼格式保存 減少存儲空間),例如:[-more-]
- cookie('name',array('name1','name2'));
復制代碼
還可以支持參數傳入的方式完成復雜的cookie賦值,下面是對cookie的值設置3600秒有效期,並且加上cookie前綴think_
- cookie('name','value',array('expire'=>3600,'prefix'=>'think_'))
復制代碼
數組參數可以采用query形式參數
- cookie('name','value','expire=3600&prefix=think_')
復制代碼
和上面的用法等效。
傳入的option參數支持prefix,expire,path,domain四個索引參數,如果沒有傳入或者傳入空值的話,會默認取COOKIE_PREFIX、COOKIE_EXPIRE、COOKIE_PATH和COOKIE_DOMAIN四個配置參數。如果只傳入個別參數,那么也會和默認的配置參數合並。
Cookie獲取
獲取cookie很簡單,無論是怎么設置的cookie,只需要使用:
- $value = cookie('name');
復制代碼
如果沒有設置cookie前綴的話 相當於
- $value = $_COOKIE['name']
復制代碼
如果設置了cookie前綴的話,相當於
- $value = $_COOKIE['前綴+name']
復制代碼
Cookie刪除
刪除某個cookie的值,使用:
- cookie('name',null);
復制代碼
要刪除所有的Cookie值,可以使用
- cookie(null); // 清空當前設定前綴的所有cookie值
- cookie(null,'think_'); // 清空指定前綴的所有cookie值
