php開發之cookie

來源:互聯網
上載者:User
cookie是一種在瀏覽器遠端儲存資料並以此來跟蹤和識別使用者的機制。簡單的說,cookie是web伺服器暫時儲存在使用者硬碟上的一個檔案夾,並隨時被web瀏覽器讀取。當使用者再次訪問web網站的時候,網站通過擷取cookie記錄使用者的特定訪問資訊(如:上次訪問的位置,花費的時間,使用者名稱和密碼) ,從而迅速做出相應,比如不需要使用者輸入密碼就可以登入。文字檔的格式如下:使用者名稱@網站地址[數字].txtcookie 的功能主要有以下幾個方面:

1,記錄訪客的某些資訊。如可以利用cookie記錄使用者的訪問頁面的次數,或者是使用者曾經輸入的資訊。另外,某些網站可以自動記錄上次方可登入的使用者名稱。
2,在頁面間傳遞變數。瀏覽器並不會儲存當前頁面的任何變數資訊,當頁面被關閉時,頁面上的所有變數資訊將隨之消失。如果聲明一個變數id=8,要把這個變數傳遞到另一個頁面,可以先把這個變數以cookie的形式儲存下來,然後在下一個頁面讀取cookie中該變數的值。
3,將索要查看的Internet頁儲存在cookie臨時檔案夾中,可以提高以後瀏覽器的訪問速度。
在php中通過setcookie()函數建立cookie。cookie是HTTP頭標的組成部分而頭標必須在頁面其他內容之前發送,他必須最先輸出。若在setcookie()函數之前輸出一個HTML標記,或者echo語句,甚至一個空行都會導致程式出錯。
文法格式如下:
bool setcookie(string name[,string value[,int explre[,string path[,string domain[,int secure]]]]])
setcookie()函數的參數說明如下:


使用setcookie()函數建立cookie 範例程式碼如下:

cookie的讀取
在php中,可以直接使用全域數組$_COOKIE[]來讀取瀏覽器的cookie的值。
使用print_r()函數讀取cookie的變數。範例程式碼如下:

運行結果如下:

刪除cookie
刪除cookie主要是使用setcookie函數來實現的,就是將cookie的失效時間減1秒,如題如下:
setcookie(“”visittime),time()-1);

cookie 的生命週期
如果cookie不設定時間,就表示它的生命週期為瀏覽器會話的期間,只要關閉瀏覽器,那麼cookie就會被刪除。這種cookie被稱為會話cookie,一般不儲存在硬碟上,而是儲存在記憶體中。
如果cookie設定失效時間,那麼瀏覽器會把cookie儲存到硬碟中,再次開啟瀏覽器時cookie仍然後笑,直到cookie的有效期間逾時。
瀏覽器最多允許儲存的cookie檔案為300個,而且每個cookie檔案最大支援容量為4k,每個網域名稱最多支援20個cookie。如果達到限制時,瀏覽器就會隨機的刪除cookies。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.