2011-06-02 166 views
1

我正在使用WAMP服務器進行PHP開發。我在我的php中創建了一個cookie,但找不到正在創建的cookie文件。 php.ini顯示爲session.save_path=C:/wamp/tmp,並且今天沒有創建任何文件。該代碼是:cookie文件存儲在哪裏? - PHP Wamp

<?php 
     $mycookie="mycookie"; 
     $emailAddr="[email protected]"; 
     if (!isset($_COOKIE[$mycookie])) 
     { 
      if (!setcookie($mycookie, $emailAddr, 0)) 
      { 
       echo "Cannot set cookie"; 
      } 
      else 
       echo "Cookie is set"; 
     } 
?> 

我得到的「Cookie設置」的消息,但檢查C:/ WAMP的/ tmp沒有看到今天創建的cookie文件。

+2

Cookie不是會話,而是存儲在客戶端,而不是服務器端。 – Wrikken 2011-06-02 18:18:11

回答

7

Cookie根據瀏覽器單獨存儲。他們將它們存儲在自己的文件夾中。

你在php.ini中設置的是會話路徑。這是保存會話的路徑$_SESSION不是Cookie $_COOKIES

2

Cookie不存儲在服務器端。 Cookie的要點是要在瀏覽器上存儲信息,以便信息在頁面之間保持連續。如果你想要一些類似於cookies的服務器端,你需要使用sessions

3

您似乎混淆了cookie和會話。會話存儲在服務器端時,Cookie存儲在客戶端。儘管會話通常使用cookie,但它僅用於存儲會話標識,而不用於存儲實際數據。

Cookie的實際存儲位置取決於用戶代理。大多數將它們存儲在客戶端文件系統中的文件中。會話的存儲位置用session.save_path指定(除非您使用的是默認值以外的storage handler)。

除此之外,setcookie不總是返回除了當相應Set-Cookie header field不能因被髮送到一個事實,即HTTP標頭已發送,因此不能再修改。 setcookie的返回值沒有說明cookie是否被接受。