清除cookie,为什么需要特定值?

时间:2012-05-28 13:25:59

标签: php cookies

我正在阅读清除Cookie。假设Cookie已设置为setcookie("abc", "xyz", time()+3600),然后根据我所读取的内容,使用setcookie("abc", "xyz", time()-3600)取消设置,以便将Cookie设置为过期。我见过的所有例子都使用这种格式。

我的问题是为什么最后一个参数必须是具体的时间() - 3600,为什么不能是时间() - 1或时间() - 9999999例如?

5 个答案:

答案 0 :(得分:3)

  

我的问题是为什么最后一个参数必须是具体的时间() - 3600,为什么不能是时间() - 1或时间() - 9999999例如?

没有。 3600个有效,但过去的任何事情都会奏效。

答案 1 :(得分:3)

它不一定是time() - 3600。这只是在例子中使用,因为它在一小时之前做了一个漂亮的整洁。它只需要一段时间过去,因此time()-1time()-9999999也可以接受,任何值< time()都可以接受。

答案 2 :(得分:1)

setcookie("abc", "xyz", time()-3600)中,诀窍在于它引用了服务器上的时间,而cookie过期则取决于主机运行浏览器的时间。如果两台主机之间的时间不匹配,则cookie可能不会过期。但是,使用时间“1”表示1970年1月1日午夜之后1秒的到期时间,这是最早可能的到期时间。

答案 3 :(得分:0)

当浏览器读取过去的时间时,它将被删除

答案 4 :(得分:-1)

time()返回自Unix Epoch(1970年1月1日00:00:00 GMT)以来的秒数测量的当前时间。

所以当你执行此操作time() + or - somedigit时,这意味着你要将值添加或减去秒数,