PHP setrawcookie() 函數

定義和用法
setrawcookie() 函數不對 cookie 值進行 URL 編碼,發(fā)送一個 HTTP cookie。
cookie 是由服務器發(fā)送到瀏覽器的變量。cookie 通常是服務器嵌入到用戶計算機中的小文本文件。每當同一臺計算機通過瀏覽器請求頁面時,就會發(fā)送這個 cookie。
cookie 的名稱自動指定為相同名稱的變量。例如,如果被發(fā)送的 cookie 名為 "user",則會自動創(chuàng)建一個名為 $user 的變量,包含 cookie 的值。
必須在任何其他輸出發(fā)送到客戶端前對 cookie 進行賦值。
如果成功,該函數返回 TRUE。如果失敗則返回 FALSE。
語法
參數 | 描述 |
---|---|
name | 必需。規(guī)定 cookie 的名稱。 |
value | 必需。規(guī)定 cookie 的值。 |
expire | 可選。規(guī)定 cookie 的過期時間。 time()+3600*24*30 將設置 cookie 的過期時間為 30 天。如果這個參數沒有設置,那么 cookie 將在 session 結束后(即瀏覽器關閉時)自動失效。 |
path | 可選。規(guī)定 cookie 的服務器路徑。 如果路徑設置為 "/",那么 cookie 將在整個域名內有效.如果路徑設置為 "/test/",那么 cookie 將在 test 目錄下及其所有子目錄下有效。默認的路徑值是 cookie 所處的當前目錄。 |
domain | 可選。規(guī)定 cookie 的域名。 為了讓 cookie 在 example.com 的所有子域名中有效,您需要把 cookie 的域名設置為 ".example.com"。當您把 cookie 的域名設置為 www.example.com 時,cookie 僅在 www 子域名中有效。 |
secure | 可選。規(guī)定是否需要在安全的 HTTPS 連接來傳輸 cookie。如果 cookie 需要在安全的 HTTPS 連接下傳輸,則設置為 TRUE。默認是 FALSE。 |
提示和注釋
提示:可以通過 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 來訪問名為 "user" 的 cookie 的值。
注意:setrawcookie() 函數與 setcookie() 函數幾乎完全相同,不同的是不會在發(fā)往客戶端時,對 cookie 值進行自動 URL 編碼。
實例 1
設置并發(fā)送 cookie:
$value = "my cookie value";
// send a simple cookie
setrawcookie("TestCookie",$value);
?>
<html>
<body>
...
...
$value = "my cookie value";
// send a cookie that expires in 24 hours
setrawcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>
...
...
實例 2
檢索 cookie 值的不同方法(在 cookie 設置之后):
<body>
<?php
// Print individual cookies
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// Print all cookies
print_r($_COOKIE);
?>
</body>
</html>
上面的代碼將輸出:
my cookie value
Array ([TestCookie] => my cookie value)
實例 3
通過把失效日期設置為過去的日期/時間,刪除一個 cookie:
// Set the expiration date to one hour ago
setrawcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...
實例 4
創(chuàng)建一個數組 cookie:
setrawcookie("cookie[three]","cookiethree");
setrawcookie("cookie[two]","cookietwo");
setrawcookie("cookie[one]","cookieone");
// print cookies (after reloading page)
if (isset($_COOKIE["cookie"]))
{
foreach ($_COOKIE["cookie"] as $name => $value)
{
echo "$name : $value <br />";
}
}
?>
<html>
<body>
...
...
上面的代碼將輸出:
two : cookietwo
one : cookieone

- PHP 字符串
- PHP 包含文件 include 和 require 語句
- PHP array_flip() 函數
- PHP pos() 函數
- PHP jdtofrench() 函數
- PHP unixtojd() 函數
- PHP error_get_last() 函數
- PHP FILTER_VALIDATE_INT 過濾器
- PHP FILTER_VALIDATE_IP 過濾器
- PHP ftp_chdir() 函數
- PHP ftp_exec() 函數
- PHP floor() 函數
- PHP mysqli_data_seek() 函數
- PHP mysqli_num_fields() 函數
- PHP mysqli_query() 函數
- PHP attributes() 函數
- PHP xpath() 函數
- PHP convert_uuencode() 函數
- PHP strchr() 函數
- PHP zip_open() 函數