2

クッキーのクリアについて読んでいます。Cookieがで設定されてsetcookie("abc", "xyz", time()+3600)いるとしましょう。次に、私が読んだ内容からsetcookie("abc", "xyz", time()-3600)、Cookieを過去に期限切れにするように設定するを使用して設定を解除します。私が見たすべての例は、この形式を使用しています。

私の質問は、最後のパラメーターが具体的にtime()-3600である必要があるのはなぜですか、たとえば、time()-1またはtime()-9999999ではないのはなぜですか?

4

5 に答える 5

3

私の質問は、最後のパラメーターが具体的にtime()-3600である必要があるのはなぜですか、たとえば、time()-1またはtime()-9999999ではないのはなぜですか?

そうではありません。3600は機能しますが、過去のすべても機能します。

于 2012-05-28T13:27:22.410 に答える
3

である必要はありませんtime() - 3600。これは、「1時間前」に整理されているため、例でのみ使用されています。それは過去のある時間でなければならないので 、他の値と同様に、time()-1またはtime()-9999999同様に受け入れられます< time()

于 2012-05-28T13:27:36.727 に答える
1

トリックでは、これsetcookie("abc", "xyz", time()-3600)はサーバー上の時間を参照しますが、Cookieの有効期限はブラウザを実行しているホストの時間に依存します。2つのホスト間で時間の不一致がある場合、Cookieの有効期限が切れていない可能性があります。ただし、「1」の時間を使用すると、1970年1月1日の午前0時から1秒後の有効期限が示されます。これは、可能な限り早い有効期限です。

于 2012-05-28T13:30:36.123 に答える
0

ブラウザが過去の時間を読み取ると削除されます

于 2012-05-28T13:28:14.980 に答える
-1

time()Unixエポック(1970年1月1日00:00:00 GMT)からの秒数で測定された現在の時刻を返します。

したがって、これを行うtime() + or - somedigitと、秒に値を加算または減算していることを意味します。

于 2012-05-28T13:29:53.043 に答える