2014-03-28 179 views
0

我是新來的php,我遇到了cookie和持久性cookie,我明白它們之間的區別。我的問題是,如何讓cookie持久或臨時。我發現只有一種語法的cookie持久性cookie vs臨時cookie

<?php 
setcookie("user", "Alex Porter", time()+3600); 
?> 

感謝

+1

關閉瀏覽器時,臨時cookie會被刪除。沒有餅乾是永遠的。 「*如果設置爲0或省略,cookie將在會話結束時過期(當瀏覽器關閉時)。*」 – h2ooooooo

+0

@ h2ooooooo我的問題是上面的cookie是臨時的或持久的 – user3106347

+0

它是「持久性」,因爲您指定到期日期。 – h2ooooooo

回答

1

Phisically來說,只有一種餅乾。您可以通過選擇足夠長的到期時間來使其持續。如果到期時間設置爲0,則Cookie將持續到您的頁面在瀏覽器中打開爲止。

您的示例Cookie是持久性的,它將在一小時後過期。

Here是一個簡短的解釋鏈接。

很可能你很難訪問硬盤上的物理cookie,因爲borwsers將它們存儲在它們的內部邏輯中。例如,Firefox將Cookie存儲在瀏覽器的配置文件文件夾中的本地SQLite數據庫文件中。

+0

因此上面的代碼將在我的硬盤中創建文件,路徑是什麼 – user3106347

+0

每個cookie都存儲在硬盤上,同時會話cookies。但不一定在「文件」中,例如FF將cookie存儲在本地數據庫文件中。 –

0

創建cookie時,第三個參數(在您的示例中爲time()+3600)指定了cookie的到期日期。

time()+3600表示現在+ 3600秒,這是將來1小時。 Time()函數以秒爲單位返回當前時間(unix時間)。

沒有這樣的東西,真正永久的cookie,更像是在未來的cookie中過期。