本篇文章主要介紹PHP cookie使用方法,在PHP開發過程中經常會用到PHP的cookie,這裡給出程式碼實例,以便了解,有需要的小夥伴可以看下
在php 中cookie是我們常用到的,但是可能很多朋友都不知道cookie是怎麼運作的,下面小編來給大家整理一下關於php cookie
工作原理與一些對於cookie讀寫操作實例。
Cookie與會話狀態
做BS開發,這兩個概念不可或缺,先來個大概了解,沒有實際應用很難深入,深入看參考地址!
什麼是 Cookie?
Cookie 是一小段文字訊息,伴隨著使用者請求和頁面在 Web 伺服器和瀏覽器之間傳遞。當使用者每次造訪網站時,Web 應用程式都可以讀取 Cookie 包含的資訊。 Cookie 的基本運作方式如果使用者再次造訪網站上的頁面,當該使用者輸入 URLwww.*****.com時,瀏覽器就會在本機硬碟上尋找與該 URL 相關聯的 Cookie。如果該 Cookie 存在,瀏覽器就會將它與頁面請求一起傳送到您的網站。
Cookie 有哪些用途?
最根本的用途是:Cookie 能夠幫助 Web 網站保存有關訪客的資訊。更概括地說,Cookie 是一種保持Web 應用程式連續性(即執行「狀態管理」)的方法.使Web 網站記住您.
#•當客戶訪問某個基於PHP技術的網站時,在PHP中可以使用setcookie()函數產生一個cookie,系統處理把這個cookie送到客戶端並儲存在C:Documents andSettings使用者名稱Cookies目錄下。
•cookie是HTTP標頭的一部分,因此setcookie()函數必須在HTML本身的任何內容送到瀏覽器之前呼叫。這種限制與header()函數一樣(如需了解head()函數,請自行查閱)。
•當客戶再次造訪該網站時,瀏覽器會自動把C:DocumentsandSettings使用者名稱Cookies目錄下與該網站對應的cookie傳送到伺服器,伺服器則將從客戶端傳來的cookie將自動地轉換成一個PHP變數。在PHP5中,客戶端發出的cookie將會轉換成全域變數。你可以透過$_COOKIE[‘xxx']讀取。
定義一個cookie
•設定cookie:
•語法:boolsetcookie(stringname,[stringvalue,[int expire,[stringpath ,[stringdomain,[int secure]]]]]);
本cookie函數可以有6個屬性,常用的有3個參數。
1.實例:
程式碼如下
$value="the best way is by yourself"; setcookie("cookiename",$value,time()+60*60*24*7);
#1.接收與處理cookie
PHP對cookie有很好的支持,和form表單一樣,接收的時候PHP會自動從web伺服器接收HTTP頭並且它。接收的時候和表單接收一樣,用$_COOKIE[“cookiename”]或$HTTP_COOKIE_VARS[“cookiename”](不提倡使用)
1.注意:
#如果網站有幾個不同的檔案目錄,使用不含路徑的cookie,那麼只能在設定cookie的檔案所在路徑下存取到此cookie。如果指定路徑,則依照設定時的路徑作為存取cookie的指定路徑。
建立cookie陣列:
1.其一:
程式碼如下
setcookie("CookieArray[0]","Value1"); setcookie("CookieArray[1]","Value2");
1.其二:
程式碼如下
setcookie("CookieArray['one']","Value1"); setcookie("CookieArray['two']","Value2");
1.setcookie()中使用數組
程式碼如下
<?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 .要刪除一個已經存在的cookie,有兩個辦法:
1、呼叫只帶有name參數的setcookie,那麼名為這個name的cookie將會被從客戶機上刪掉;
setcookie (「MyCookie」);//刪除MyCookie
2、期時間就行,那麼這個Cookie在這個頁面的瀏覽完之後就被刪除了(其實是失效了)。
例如:
程式碼如下
setcookie(“MyCookie”,”Value”,time()-1);
//刪除MyCookie。
要注意:當一個Cookie被刪除時,它的值在當前頁仍然有效。如果要把cookie設定成在瀏覽器關閉後就失效。那麼可以直接把expiretime設為0,或是不設定此值。
例如:setcookie(“name”,”value”,0)。
cookie注意事項
•1、setcookie()之前不能有任何html輸出,就是空格,空白行都不行,必須在html檔案的內容輸出前設定
•2、setcookie()後,你在目前頁呼叫echo$_COOKIE[「name」]不會有輸出。必須刷新或到下一個頁面才可以看到cookie值。
•3、不用瀏覽器對cookie處理不同。客戶端可以停用cookie,瀏覽器也會限制cookie的數量。一個瀏覽器能創建的cookie數量最多為300個,且每個不能超過4KB,每個WEB站點能設定的cookie總數不能超過20個。
•4、cookie是儲存在客戶端的,使用者禁用了cookie,你的cookie自然也就沒效啦!因此,避免過度依賴cookie,先想好如果cookie被停用時的解決方案,以備萬一。
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。
相關推薦:
#以上是php cookie運作原理及實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!