php setcookie(name, value, expires, path, domain, secure) 參數(shù)詳解
函數(shù)定義:
bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )
setcookie() 參數(shù)詳解
參數(shù) | 說(shuō)明 | 舉例 |
name | cookie的名字 | 使用 $_COOKIE['cookiename'] 調(diào)用名為 cookiename 的 cookie。 |
value | cookie的值,存放在客戶端,不要存放敏感數(shù)據(jù) | 假定 name 是 'cookiename',可以通過(guò)$_COOKIE['cookiename'] 取得其值。 |
expire |
Cookie 過(guò)期的時(shí)間。這是個(gè) Unix 時(shí)間戳,即從 Unix 紀(jì)元開(kāi)始的秒數(shù)?! ?/SPAN> 換而言之,通常用 time() 函數(shù)再加上秒數(shù)來(lái)設(shè)定 cookie 的失效期。 或者用mktime()來(lái)實(shí)現(xiàn)。 |
time()+60*60*24*30 將設(shè)定 cookie 30 天后失效。 如果未設(shè)定,cookie 將會(huì)在會(huì)話結(jié)束后(一般是瀏覽器關(guān)閉)失效。 |
path | Cookie 在服務(wù)器端的有效路徑。 |
如果該參數(shù)設(shè)為 '/' 的話,cookie 就在整個(gè) domain 內(nèi)有效, 如果設(shè)為 '/foo/',cookie 就只在 domain 下的 /foo/ 目錄及其子目錄內(nèi)有效,例如 /foo/bar/。 默認(rèn)值為設(shè)定 cookie 的當(dāng)前目錄。 |
domain | 該 cookie 有效的域名。 |
要使 cookie 能在如 example.com 域名下的所有子域都有效的話,該參數(shù)應(yīng)該設(shè)為 '.example.com'。 雖然 . 并不必須的,但加上它會(huì)兼容更多的瀏覽器。 如果該參數(shù)設(shè)為www.example.com 的話,就只在 www 子域內(nèi)有效。 細(xì)節(jié)見(jiàn)Cookie 規(guī)范中的 tail matching。 |
secure |
指明 cookie 是否僅通過(guò)安全的 HTTPS 連接傳送。 當(dāng)設(shè)成 TRUE 時(shí),cookie 僅在安全的連接中被設(shè)置。默認(rèn)值為FALSE。 |
0 或 1 |
例子 1. setcookie() 發(fā)送例子
$value = 'something from somewhere';
setcookie("TestCookie", $value);
setcookie("TestCookie", $value,time()+3600); /* expire in 1 hour */
setcookie("TestCookie", $value,time()+3600, "/~rasmus/", ".utoronto.ca", 1);
注意 cookie 中值的部分在發(fā)送的時(shí)候會(huì)被自動(dòng)用 urlencode 編碼并在接收到的時(shí)候被自動(dòng)解碼并把值賦給與自己同名的 cookie 變量。如果不想這樣并且在使用 PHP 5 的話,可以用 setrawcookie() 來(lái)代替。下面這個(gè)簡(jiǎn)單的例子可以得到剛才所設(shè)定的 cookie 的值:
<?php
// 輸出單獨(dú)的 cookie
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];
// 另一個(gè)調(diào)試的方法就是輸出所有的 cookie
print_r($_COOKIE);
?>
要?jiǎng)h除 cookie 需要確保它的失效期是在過(guò)去,才能觸發(fā)瀏覽器的刪除機(jī)制。下面的例子說(shuō)明了如何刪除剛才設(shè)置的 cookie:
例子 2. setcookie() 刪除例子
// 將過(guò)期時(shí)間設(shè)為一小時(shí)前
setcookie("TestCookie", "", time() - 3600);
setcookie("TestCookie", "", time() - 3600, "/~rasmus/", ".utoronto.ca", 1);
也可以通過(guò)在 cookie 名稱中使用數(shù)組符號(hào)來(lái)設(shè)定數(shù)組 cookie,可以設(shè)定多個(gè) cookie 作為數(shù)組單元,在腳本提取 cookie 時(shí)所有的值都放在一個(gè)數(shù)組種:
例子 3. setcookie() 中使用數(shù)組的例子
<?php
// 設(shè)定 cookie
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");
// 刷新頁(yè)面后,顯示出來(lái)
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
echo "$name : $value <br />\n";
}
}
?>
上例將輸出:
three : cookiethree
two : cookietwo
one : cookieone
總結(jié):cookie的基本使用不難,這篇文章記錄的重點(diǎn)主要是掌握path的路徑設(shè)置和domain的域名設(shè)置。
相關(guān)文章
從0構(gòu)建Oauth2Server服務(wù)?之Token?編解碼
這篇文章主要為大家介紹了從0構(gòu)建Oauth2Server服務(wù)之Token編解碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05PHP面向?qū)ο笪宕笤瓌t之單一職責(zé)原則(SRP)詳解
這篇文章主要介紹了PHP面向?qū)ο笪宕笤瓌t之單一職責(zé)原則(SRP),結(jié)合實(shí)例形式詳細(xì)分析了單一職責(zé)原則(SRP)的概念、原理、定于與使用方法,需要的朋友可以參考下2018-04-04微信公眾號(hào)用戶與網(wǎng)站用戶的綁定解決方案分析
這篇文章主要介紹了微信公眾號(hào)用戶與網(wǎng)站用戶的綁定解決方案,結(jié)合實(shí)例形式分析了微信公眾號(hào)用戶與網(wǎng)站用戶綁定的原理、操作步驟、技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2019-04-04詳談php中 strtr 和 str_replace 的效率問(wèn)題
下面小編就為大家?guī)?lái)一篇詳談php中 strtr 和 str_replace 的效率問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05Larave框架通過(guò)sanctum進(jìn)行API鑒權(quán)詳解
Laravel是一套簡(jiǎn)潔、優(yōu)雅的PHP WEB開(kāi)發(fā)框架(PHP Web Framework),具有富于表達(dá)性且簡(jiǎn)潔的語(yǔ)法,Laravel是易于理解且強(qiáng)大的,它提供了強(qiáng)大的工具用以開(kāi)發(fā)大型,健壯的應(yīng)用,例如具有自動(dòng)驗(yàn)證、路由、Session、緩存、數(shù)據(jù)庫(kù)遷移工具、單元測(cè)試等常用的工具和功能2022-07-07