PHP中Cookie的示例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹了PHP中Cookie的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

10余年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站制作,個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁(yè)制作,對(duì)成都生料攪拌車等多個(gè)方面,擁有多年的網(wǎng)站維護(hù)經(jīng)驗(yàn)。

什么是Cookie

Cookie是一種在遠(yuǎn)程瀏覽器端存儲(chǔ)數(shù)據(jù)并以此來(lái)跟蹤和識(shí)別用戶的機(jī)制。簡(jiǎn)單地說(shuō),Cookie是Web服務(wù)器暫時(shí)存儲(chǔ)在用戶硬盤(pán)上的一個(gè)文本文件,并隨后被Web瀏覽器讀取。當(dāng)用戶再次訪問(wèn)Web網(wǎng)站時(shí),網(wǎng)站通過(guò)讀取Cookies文件記錄這位訪客的特定信息(如上次訪問(wèn)的位置、花費(fèi)的時(shí)間、用戶名和密碼等),從而迅速作出響應(yīng),如在頁(yè)面中不需要輸入用戶的ID和密碼即可直接登錄網(wǎng)站等。
文本文件的命令格式如下:

用戶名@網(wǎng)站地址[數(shù)字].txt

Cookie的功能

Web服務(wù)器可以應(yīng)用Cookies包含信息的任意性來(lái)篩選并經(jīng)常性維護(hù)這些信息,以判斷在HTTP傳輸中的狀態(tài)。Cookie常用于以下3個(gè)方面:
?記錄訪客的某些信息。如可以利用Cookie記錄用戶訪問(wèn)網(wǎng)頁(yè)的次數(shù),或者記錄訪客曾經(jīng)輸入過(guò)的信息,另外,某些網(wǎng)站可以使用Cookie自動(dòng)記錄訪客上次登錄的用戶名。
?在頁(yè)面之間傳遞變量。瀏覽器并不會(huì)保存當(dāng)前頁(yè)面上的任何變量信息,當(dāng)頁(yè)面被關(guān)閉時(shí)頁(yè)面上的所有變量信息將隨之消失。如果用戶聲明一個(gè)變量id=8,要把這個(gè)變量傳遞到另一個(gè)頁(yè)面,可以把變量id以Cookie形式保存下來(lái),然后在下一頁(yè)通過(guò)讀取該Cookie來(lái)獲取變量的值。
 ?將所查看的Internet頁(yè)存儲(chǔ)在Cookies臨時(shí)文件夾中,可以提高以后瀏覽的速度。

創(chuàng)建Cookie

在PHP中通過(guò)setcookie()函數(shù)創(chuàng)建Cookie。語(yǔ)法格式如下:

bool setcookie(string name[,string value[,int expire[, string path[,string domain[,int secure]]]]])

PHP中Cookie的示例分析

讀取Cookie

在PHP中可以直接通過(guò)超級(jí)全局?jǐn)?shù)組$_COOKIE[]來(lái)讀取瀏覽器端的Cookie值。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"
  />
 <title>PHP語(yǔ)言基礎(chǔ)</title>

</head>
<body>
<?php
date_default_timezone_set("PRC");
header("Content-Type:text/html; charset=gb2312");
if (!isset($_COOKIE["visittime"])) {
 setcookie("visittime", date("y-m-d H:i:s"));
 echo "這是第一次保存Cookie"."<br>";
} else {
 setcookie("visittime", date("y-m-d H:i:s"), time() + 60);
 echo "上次訪問(wèn)時(shí)間為:" . $_COOKIE["visittime"];
 echo "<br>";
}
echo "本次訪問(wèn)時(shí)間:" . date("y-m-d H:i:s");
?>
</body>
</html>

第一次運(yùn)行結(jié)果:
這是第一次保存Cookie
本次訪問(wèn)時(shí)間:16-07-16 08:26:25

第二次運(yùn)行結(jié)果:
上次訪問(wèn)時(shí)間為:16-07-16 08:26:25
本次訪問(wèn)時(shí)間:16-07-16 08:27:25


上述代碼,先通過(guò)isset()函數(shù)檢測(cè)Cookie文件是否存在,不存在通過(guò)setcookie()函數(shù)創(chuàng)建一個(gè)Cookie文件,如果存在設(shè)置Cookie的失效時(shí)間為60秒。

刪除Cookie

當(dāng)Cookie被創(chuàng)建后,如果沒(méi)有設(shè)置它的失效時(shí)間,其Cookie文件會(huì)在關(guān)閉瀏覽器時(shí)被自動(dòng)刪除。如果要在關(guān)閉瀏覽器之前刪除Cookie文件,方法有兩種:一種是使用setcookie()函數(shù)刪除,另一種是在瀏覽器中手動(dòng)刪除Cookie。下面分別進(jìn)行介紹。

1.使用setcookie()函數(shù)刪除Cookie

刪除Cookie和創(chuàng)建Cookie的方式基本類似,刪除Cookie也使用setcookie()函數(shù)。刪除Cookie只需要將setcookie()函數(shù)中的第二個(gè)參數(shù)設(shè)置為空值,將第3個(gè)參數(shù)Cookie的過(guò)期時(shí)間設(shè)置為小于系統(tǒng)的當(dāng)前時(shí)間即可。

例如,將Cookie的過(guò)期時(shí)間設(shè)置為當(dāng)前時(shí)間減1秒,代碼如下:

setcookie("name", "", time()-1);

在上面的代碼中,time()函數(shù)返回以秒表示的當(dāng)前時(shí)間戳,把過(guò)期時(shí)間減1秒就會(huì)得到過(guò)去的時(shí)間,從而刪除Cookie。

2.在瀏覽器中手動(dòng)刪除Cookie


在使用Cookie時(shí),Cookie自動(dòng)生成一個(gè)文本文件存儲(chǔ)在IE瀏覽器的Cookies臨時(shí)文件夾中。在瀏覽器中刪除Cookie文件是非常便捷的方法。

Cookie的生命周期

如果Cookie不設(shè)定時(shí)間,就表示它的生命周期為瀏覽器會(huì)話的期間,只要關(guān)閉IE瀏覽器,Cookie就會(huì)自動(dòng)消失。這種Cookie被稱為會(huì)話Cookie,一般不保存在硬盤(pán)上,而是保存在內(nèi)存中。

如果設(shè)置了過(guò)期時(shí)間,那么瀏覽器會(huì)把Cookie保存到硬盤(pán)中,再次打開(kāi)IE瀏覽器時(shí)會(huì)依然有效,直到它的有效期超時(shí)。

雖然Cookie可以長(zhǎng)期保存在客戶端瀏覽器中,但也不是一成不變的。因?yàn)闉g覽器最多允許存儲(chǔ)300個(gè)Cookie文件,而且每個(gè)Cookie文件支持較大容量為4KB;每個(gè)域名最多支持20個(gè)Cookie,如果達(dá)到限制時(shí),瀏覽器會(huì)自動(dòng)地隨機(jī)刪除Cookies。


感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“PHP中Cookie的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

網(wǎng)頁(yè)名稱:PHP中Cookie的示例分析-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://muchs.cn/article12/eicgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、App開(kāi)發(fā)、軟件開(kāi)發(fā)、自適應(yīng)網(wǎng)站、微信公眾號(hào)、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)