2010-08-25 63 views
-4

我需要設置cookie,我知道我可以用setcookie函數做到這一點,但我必須爲不定期時間設置cookie。這是否可能?如果是的話,告訴我。php setcookies函數限制

+0

您的意思是cookies不應該過期? – 2010-08-25 07:29:46

+0

這不是關於PHP的問題 - 它是關於HTTP和瀏覽器的問題 – symcbean 2010-08-25 08:11:51

回答

3

您可以根據需要設置儘可能多的Cookie,每個Cookie都有自己的setcookie調用,但不同的客戶端可能會有Cookie限制。例如,根據this page

  • MSIE 7和8具有在每個域限制的50塊餅乾
  • 火狐還具有在30塊餅乾
  • 的每個域50周的Cookie
  • 歌劇較低,極限
  • 的Safari 3沒有明顯的cookie限制

儘量保持cookie數30下,因爲Opera是最低的限度。

更好的是,改用$_SESSION!您可以擁有字面上無限的會話數據,全部僅使用一個 cookie集 - 會話ID。

說明:雖然我的建議可能仍然適用,但我剛剛意識到您可能實際上是指未到期的cookie。沒有辦法做一個無限的,不過期的cookie,但是你可以設置expires值爲一個非常高的值(INT_MAX,任何人?)

1

首先,如上所述,setcookie的手冊頁是在谷歌的第一個答案,所以你真的沒有搜索。 Here it is

現在,對於你的要求,我不認爲這是可能的。這是爲了好。 Cookie非常具有侵入性,所以它們不應該無限地停留在客戶端計算機上。不過,你仍然可以把一個巨大的數字作爲$ expire的值(儘管你不應該!)。