2010-08-25 33 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的值(尽管你不应该!)。