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值