php中如何讀取Cookie


如果 Cookie 設置成功,客戶端就擁有了 Cookie 文件,用來保存 Web 服務器為期設置的用戶信息。假設我們在客戶端使用了 Windows 系統去瀏覽服務器中的腳本, Cookie 文件會被存放在 “ C:\Documents and Settings\ 用戶名\ Cookies” 文件夾下。 Cookie 是一個以普通文本文件形式記錄信息的,雖然直接使用文本編輯器就可以打開瀏覽,但直接去閱讀 Cookie 文件中的信息是沒有意義的。而是當客戶再次訪問該網站時,瀏覽器會自動把與該站點對應的 Cookie 信息全部發送給服務器。 從PHP5之后,任何從客戶端發送過來的 Cookie信息,都會被自動保存在 $_COOKIE 全局數組中,所以在每個 PHP腳本中都可以從該數組中讀取相應的 Cookie信息。 $_COOKIE 全局數組存儲所有通過 HTTP 傳遞的 Cookie 資料內容,並以 Cookie 的識別名稱為索引值、內容值為元素。dd直驅電機

 

在設置 Cookie 腳本中,第一次讀取它的信息並不會生效,必須刷新或到下一個頁面才可以看到 Cookie 值,因為 Cookie 要先被設置到客戶端,再次訪問時才能被發送過來,這是才能被獲取。所以要測試一個 Cookie 是否被成功設定,可以再其到期之前 通過另外一個頁面來訪問其的值。

在PHP中可以直接通過超全局變量數組 $_COOKIE[] 來讀取瀏覽器端的 Cookie 值。

實例代碼如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

<?php

  date_default_timezone_set('PRC');       //設置時區

 if(!isset($_COOKIE['time'])){                //檢測 Cookie 文件是否存在

    setcookie('time',date('y-m-d H:i:s'));    //設置一個 Cookie 變量

    echo "第一次訪問";

 }else{

    setcookie('time',date('y-m-d H:i:s'),time()+60);   //設置保存  Cookie 失效的時間的變量

    echo "上次訪問的時間為:".$_COOKIE['time'];        //輸出上次訪問網站的時間

    echo '<br>';

 }

    echo "本次訪問的時間為:".date('y-m-d H:i:s');     //輸出當前的訪問時間

?>

在上面的代碼中,首先使用 isset()函數檢測 Cookie 文件是否存在。如果不存在,則使用 setcookie() 函數創建一個Cookie,並輸出相應的字符串;如果 Cookie 文件存在,則使用 setcookie() 函數 設置文件失效的時間,並輸出用戶上次訪問網站的時間,最后在頁面輸出本次方位網站的當前時間。

首次運行實例時,由於沒有檢測到 Cookie 文件,

 

如果用戶在 Cookie 設置失效的時間(上面的實例為60秒)前刷新或者再次訪問該網頁,

https://www.frlh168.com/product/ludenglvjiban/907.html

注意:如果未設置 Cookie 失效的時間,則在關閉瀏覽器時自動刪除 Cookie 數據。如果為 Cookie 設置了失效的時間,瀏覽器將會記住Cookie 數據,即使重新啟動了計算機,只要沒有到期,再訪問網站時也會獲得訪問的數據信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM