PHP之COOKIE支持詳解
更新時間:2010年09月20日 01:09:51 作者:
建立商業(yè)站點或者功能比較完善的個人站點,常常需要記錄訪問者的信息,在PHP中提供了兩種方便的手段:session和cookie功能.為了永久的保持用戶信息,則cookie是最便捷的手段.在這里我將為大家詳細的講解cookie的功能及使用方法.
一: 設(shè)置cookie
使用cookie前必須設(shè)置cookie.
函數(shù)原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)
其中,除name外,所有的參數(shù)都是可選的,可以用空的字符串表示未設(shè)置.
屬性value: 用來指定值.
屬性path: 用來指定cookie被發(fā)送到服務(wù)器的哪一個目錄路徑下.
屬性domain:能夠在瀏覽器端對cookie的發(fā)送進行限定.
expire參數(shù):用來指定cookie的有效時間,它是一個標(biāo)準(zhǔn)的Unix時間標(biāo)記.
可以用time()或者mktime()函數(shù)取得,以秒為單位.
secure參數(shù):表示這個cookie是否通過加密的HTTPS協(xié)議在網(wǎng)絡(luò)上傳輸.
二: 設(shè)置cookie時的注意事項
在同一個頁面中設(shè)置cookie,實際上是按從后往前的順序進行的.如果要先刪除一個cookie,再寫入一個cookie,則必須先寫寫入語句,再寫刪除語句.否則會出現(xiàn)錯誤.
三: setcookie舉例
簡單的: setcookie("mycookie","value_of_mycookie");
帶失效時間的: setcookie("withExpire","Expire_in_1_hour",time()+3600);
什么都有的:setcookie("FullCookie","Full_cookie_value",time+3600,"/forum","www.123.com",1);
四: cookie的一些特點
cookie是面向路徑的.缺省path屬性時,WEB服務(wù)器頁會自動傳遞當(dāng)前路徑給瀏覽器.指定路徑會強制服務(wù)器使用設(shè)置的路徑.
在一個目錄頁面里設(shè)的cookie在另一個目錄的頁面里是看不到的.
五: 接收和處理cookie
PHP對cookie的處理是全自動的,和處理FORM變量的原則一樣.當(dāng)然也可以使用PHP全局變量,$HTTP_COOKIE_VARS數(shù)組.
例: echo $mycookie;
echo $cookie Array[0];
echo count($cookie Array);
echo $HTTP_COOKIE_VARS["mycookie"];
六: 刪除cookie
(1)調(diào)用只帶有name參數(shù)的setcookie();
(2)使失效時間為time()或time-1;
七: 使用cookie的限制
(1) 必須在HTML文件的內(nèi)容輸出之前設(shè)置;
(2)不同的瀏覽器對cookie的處理不一致,使用時一定要考慮;
(3)客戶端的限制,比如用戶設(shè)置禁止cookie,則cookie不能建立;
八: 一個具體的例子,希望大家對cookie有更加深刻的認(rèn)識
<?
//cookie.php
if(!isset($flag))
{
setcookie("mycookie","this my cookie!");
header("location:cookie.php?flag=1");
exit;
}
?>
<html>
<body>
<?
echo "cookie中有:".$mycookie;
?>
</body>
</html>
使用cookie前必須設(shè)置cookie.
函數(shù)原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)
其中,除name外,所有的參數(shù)都是可選的,可以用空的字符串表示未設(shè)置.
屬性value: 用來指定值.
屬性path: 用來指定cookie被發(fā)送到服務(wù)器的哪一個目錄路徑下.
屬性domain:能夠在瀏覽器端對cookie的發(fā)送進行限定.
expire參數(shù):用來指定cookie的有效時間,它是一個標(biāo)準(zhǔn)的Unix時間標(biāo)記.
可以用time()或者mktime()函數(shù)取得,以秒為單位.
secure參數(shù):表示這個cookie是否通過加密的HTTPS協(xié)議在網(wǎng)絡(luò)上傳輸.
二: 設(shè)置cookie時的注意事項
在同一個頁面中設(shè)置cookie,實際上是按從后往前的順序進行的.如果要先刪除一個cookie,再寫入一個cookie,則必須先寫寫入語句,再寫刪除語句.否則會出現(xiàn)錯誤.
三: setcookie舉例
簡單的: setcookie("mycookie","value_of_mycookie");
帶失效時間的: setcookie("withExpire","Expire_in_1_hour",time()+3600);
什么都有的:setcookie("FullCookie","Full_cookie_value",time+3600,"/forum","www.123.com",1);
四: cookie的一些特點
cookie是面向路徑的.缺省path屬性時,WEB服務(wù)器頁會自動傳遞當(dāng)前路徑給瀏覽器.指定路徑會強制服務(wù)器使用設(shè)置的路徑.
在一個目錄頁面里設(shè)的cookie在另一個目錄的頁面里是看不到的.
五: 接收和處理cookie
PHP對cookie的處理是全自動的,和處理FORM變量的原則一樣.當(dāng)然也可以使用PHP全局變量,$HTTP_COOKIE_VARS數(shù)組.
例: echo $mycookie;
echo $cookie Array[0];
echo count($cookie Array);
echo $HTTP_COOKIE_VARS["mycookie"];
六: 刪除cookie
(1)調(diào)用只帶有name參數(shù)的setcookie();
(2)使失效時間為time()或time-1;
七: 使用cookie的限制
(1) 必須在HTML文件的內(nèi)容輸出之前設(shè)置;
(2)不同的瀏覽器對cookie的處理不一致,使用時一定要考慮;
(3)客戶端的限制,比如用戶設(shè)置禁止cookie,則cookie不能建立;
八: 一個具體的例子,希望大家對cookie有更加深刻的認(rèn)識
復(fù)制代碼 代碼如下:
<?
//cookie.php
if(!isset($flag))
{
setcookie("mycookie","this my cookie!");
header("location:cookie.php?flag=1");
exit;
}
?>
<html>
<body>
<?
echo "cookie中有:".$mycookie;
?>
</body>
</html>
相關(guān)文章
php生成不重復(fù)隨機數(shù)、數(shù)組的4種方法分享
這篇文章主要介紹了php生成不重復(fù)隨機數(shù)、數(shù)組的4種方法分享,本文直接給出實現(xiàn)代碼,并對生成效率做了對比,需要的朋友可以參考下2015-03-03使用ThinkPHP框架(thinkphp8.0)創(chuàng)建定時任的操作步驟
這篇文章給大家介紹了使用ThinkPHP框架(thinkphp8.0)創(chuàng)建定時任的操作步驟,文中通過代碼示例給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01PHP GD 圖像處理組件的常用函數(shù)總結(jié)
如今,在互聯(lián)網(wǎng)上,很多網(wǎng)站都要處理大量圖片,比如:頭像、上傳的圖片做縮略圖加水印等等。他們需要服務(wù)端的大量圖片處理,一門好的服務(wù)端語言環(huán)境一定要有對圖像處理的支持。2010-04-04