定義和用法 setcookie() 函數向客戶端發送一個 HTTP cookie。 cookie 是由服務器發送到瀏覽器的變量。cookie 一般是服務器嵌入到用戶計算機中的小文本文件。每當計算機經過瀏覽器請求一個頁面,就會發送這個 cookie。 cookie 的名稱指定爲相同名稱的變量。例如,若是被髮送的 cookie 名爲 "name",會自動建立名爲 $user 的變量,包含 cookie 的值。 對 cookie 進行賦值以前不能有任何輸。若是成功,則該函數返回 true,不然返回 false。 注意:cookie設置之後必須刷新之後才能生效。 語法 setcookie(name,value,expire,path,domain,secure) 參數 描述 name 必需。規定 cookie 的名稱。 value 必需。規定 cookie 的值。 expire 可選。規定 cookie 的有效期。 path 可選。規定 cookie 的服務器路徑。 domain 可選。規定 cookie 的域名。 secure 可選。規定是否經過安全的 HTTPS 鏈接來傳輸 cookie。 提示和註釋 註釋:能夠經過 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 來訪問名爲 "user" 的 cookie 的值。 註釋:在發送 cookie 時,cookie 的值會自動進行 URL 編碼。接收時會進行 URL 解碼。若是你不須要這樣,能夠使用 setrawcookie() 代替。 例子 1 設置併發送 cookie: <?php $value = "my cookie value"; // 發送一個簡單的 cookie setcookie("TestCookie",$value); ?><html><body>...... <?php $value = "my cookie value"; // 發送一個 24 小時候過時的 cookie setcookie("TestCookie",$value, time()+3600*24); ?><html><body>...... 例子 2 檢索 cookie 值的不一樣方法: <html><body><?php // 輸出個別的 cookie echo $_COOKIE["TestCookie"]; echo "<br />"; echo $HTTP_COOKIE_VARS["TestCookie"]; echo "<br />"; // 輸出全部 cookie print_r($_COOKIE); ?></body></html> 輸出: my cookie value my cookie value Array ([TestCookie] => my cookie value) 例子 3 經過把失效日期設置爲過去的日期/時間,刪除一個 cookie: <?php // 把失效日期設置爲一小時前 setcookie ("TestCookie", "", time() - 3600); ?><html><body>...... 例子 4 建立一個數組 cookie: <?php setcookie("cookie[three]","cookiethree"); setcookie("cookie[two]","cookietwo"); setcookie("cookie[one]","cookieone"); // 輸出 cookie (在重載頁面後) if (isset($_COOKIE["cookie"])){ foreach ($_COOKIE["cookie"] as $name => $value){ echo "$name : $value <br />"; } } ?><html><body>...... 輸出: three : cookiethree two : cookietwo one : cookieone 例子 5 關於設置cookie後不生效的問題。一般是沒設置做用域的緣由 <?php setcookie("a","bb",time()+3600,"/",".hi-docs.com"); // 注意把域名設置爲本身的 ?>