這篇文章主要介紹“php cookie工作原理是什么”,在日常操作中,相信很多人在php cookie工作原理是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php cookie工作原理是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習吧!
在php 中cookie是我們常用到的,但是可能很多朋友都不知道cookie是怎么工作的,下面小編來給大家整理一下關(guān)于php cookie
工作原理與一些對于cookie讀寫操作實例。
Cookie和會話狀態(tài)
做BS開發(fā),這兩個概念必不可少,先來個大概了解,沒有實際應(yīng)用很難深入,深入看參考地址!
什么是 Cookie?
Cookie 是一小段文本信息,伴隨著用戶請求和頁面在 Web 服務(wù)器和瀏覽器之間傳遞。用戶每次訪問站點時,Web 應(yīng)用程序都可以讀取 Cookie 包含的信息。 Cookie 的基本工作原理如果用戶再次訪問站點上的頁面,當該用戶輸入 URLwww.*****.com時,瀏覽器就會在本地硬盤上查找與該 URL 相關(guān)聯(lián)的 Cookie。如果該 Cookie 存在,瀏覽器就將它與頁面請求一起發(fā)送到您的站點。
Cookie 有哪些用途?
最根本的用途是:Cookie 能夠幫助 Web 站點保存有關(guān)訪問者的信息。更概括地說,Cookie 是一種保持Web 應(yīng)用程序連續(xù)性(即執(zhí)行“狀態(tài)管理”)的方法.使 Web 站點記住您.
?當客戶訪問某個基于PHP技術(shù)的網(wǎng)站時,在PHP中可以使用setcookie()函數(shù)生成一個cookie,系統(tǒng)經(jīng)處理把這個cookie發(fā)送到客戶端并保存在C:Documents andSettings用戶名Cookies目錄下。
?cookie是HTTP標頭的一部分,因此setcookie()函數(shù)必須在HTML本身的任何內(nèi)容送到瀏覽器之前調(diào)用。這種限制與header()函數(shù)一樣(如需了解head()函數(shù),請自行查閱)。
?當客戶再次訪問該網(wǎng)站時,瀏覽器會自動把C:DocumentsandSettings用戶名Cookies目錄下與該站點對應(yīng)的cookie發(fā)送到服務(wù)器,服務(wù)器則把從客戶端傳來的cookie將自動地轉(zhuǎn)化成一個PHP變量。在PHP5中,客戶端發(fā)來的cookie將被轉(zhuǎn)換成全局變量。你可以通過$_COOKIE[‘xxx']讀取。
定義一個cookie
?設(shè)置cookie:
?語法:boolsetcookie(stringname,[stringvalue,[int expire,[stringpath,[stringdomain,[int secure]]]]]);
本cookie函數(shù)可以有6個屬性,常用的有3個參數(shù)。
1.實例:
代碼如下
$value="the best way is by yourself"; setcookie("cookiename",$value,time()+60*60*24*7);
1.接收和處理cookie
PHP對cookie有很好的支持,和form表單一樣,接收的時候PHP會自動從web服務(wù)器接收HTTP頭并且它。接收的時候和表單接收一樣,用$_COOKIE[“cookiename”]或者$HTTP_COOKIE_VARS[“cookiename”](不提倡使用)
1.注意:
如果網(wǎng)站有幾個不同的文件目錄,使用不帶路徑的cookie,那么只能在設(shè)置cookie的文件所在路徑下訪問到此cookie。如果指定路徑,則按照設(shè)置時的路徑作為訪問cookie的指定路徑。
創(chuàng)建cookie數(shù)組:
1.其一:
代碼如下
setcookie("CookieArray[0]","Value1"); setcookie("CookieArray[1]","Value2");
1.其二:
代碼如下
setcookie("CookieArray['one']","Value1"); setcookie("CookieArray['two']","Value2");
1.setcookie()中使用數(shù)組
代碼如下
<?php setcookie("cookie[three]","cookiethree"); setcookie("cookie[two]","cookietwo"); setcookie("cookie[one]","cookieone"); //刷新頁面后,顯示出來 if(isset($_COOKIE['cookie'])){ foreach($_COOKIE['cookie']as$name=>$value){ echo"$name:$value<br/>n"; } } ?>
刪除cookie
1.要刪除一個已經(jīng)存在的cookie,有兩個辦法:
1、調(diào)用只帶有name參數(shù)的setcookie,那么名為這個name的cookie將被從客戶機上刪掉;
setcookie(“MyCookie”);//刪除MyCookie
2、期時間就行,那么這個Cookie在這個頁面的瀏覽完之后就被刪除了(其實是失效了)。
例如:
代碼如下
setcookie(“MyCookie”,”Value”,time()-1);
//刪除MyCookie。
要注意:當一個Cookie被刪除時,它的值在當前頁仍然有效。如果要把cookie設(shè)置成在瀏覽器關(guān)閉后就失效。那么可以直接把expiretime設(shè)為0,或者不設(shè)置此值。
例如:setcookie(“name”,”value”,0)。
cookie注意事項
?1、setcookie()之前不能有任何html輸出,就是空格,空白行都不行,必須在html文件的內(nèi)容輸出前設(shè)置
?2、setcookie()后,你在當前頁調(diào)用echo$_COOKIE[“name”]不會有輸出。必須刷新或到下一個頁面才可以看到cookie值。
?3、不用瀏覽器對cookie處理不同。客戶端可以禁用cookie,瀏覽器也會限制cookie的數(shù)量。一個瀏覽器能創(chuàng)建的cookie數(shù)量最多為300個,并且每個不能超過4KB,每個WEB站點能設(shè)置的cookie總數(shù)不能超過20個。
?4、cookie是保存在客戶端的,用戶禁用了cookie,你的cookie自然也就沒作用啦!因此,避免過度依賴cookie,要先想好如果cookie被禁用時的解決方案,以備萬一。
到此,關(guān)于“php cookie工作原理是什么”的學(xué)習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習,快去試試吧!若想繼續(xù)學(xué)習更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)站名稱:phpcookie工作原理是什么-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://www.chinadenli.net/article0/dpjiio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、微信公眾號、移動網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、虛擬主機、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容