我需要設置cookie,使用PHP setcookie函數1小時後過期。我的服務器上的時區設置爲GMT。我應該如何設置cookie過期日期,以使其適用於不同客戶的瀏覽器時區?什麼是客戶端存儲cookie的時區?
8
A
回答
7
近,我可以告訴它應該無所謂客戶端的時間。 PHP根據unix時間碼設置過期時間。任何時間的變化都應該在服務器上。
下面是從PHP manual()的摘錄爲setCookie方法:
到期:
的時間cookie的過期。這是一個Unix時間戳,因此從曆元開始的秒數。換句話說,最有可能的是 用time()函數加上你希望它到期的 之前的秒數。或者你可以使用mktime()。 time()+ 60 * 60 * 24 * 30 將設置cookie在30天內過期。如果設置爲0或省略,則 Cookie將在會話結束時過期(當瀏覽器 關閉時)。
0
0
那麼假設你使用set cookie。
我可能是錯的,但我認爲:
您提供到期參數作爲Unix時間戳,而你計算時間戳爲「一小時」,讓您隨心所欲的cookie來在一個小時內到期。所以不要在意時區,因爲unix時間戳是明確的。
然後,瀏覽器的任務是翻譯的基礎上鮑澤設置(語言環境,語言等)
5
PHP的的setcookie()函數接受對應於Unix時間戳值的整數日期的Unix時間戳。如果您的Cookie應該有1小時的生活時間,那麼您可以使用time()+ 3600作爲該值。然後PHP將創建一個有效期過期的cookie,如「expires = Fri,2001年8月3日20:47:11 UTC」。這是在UTC(格林威治標準時間),所以你不必擔心客戶端瀏覽器的時區
相關問題
- 1. 客戶端緩存vs Cookie
- 2. HTML 5客戶端存儲的大小限制是什麼?
- 3. 客戶端Cookie
- 4. OAuth2:什麼是「客戶端」?
- 5. 什麼是Oracle客戶端?
- 6. solr PHP客戶端有什麼區別?
- 7. Cookie對服務器端存儲的好處是什麼?
- 8. 檢測和存儲Web應用程序客戶端的時區的最佳方式是什麼?
- 9. 本地存儲或客戶端的Cookie密鑰名稱
- 10. ColdFusion客戶端存儲
- 11. jQuery SQlite - 客戶端存儲
- 12. 客戶端數據存儲
- 13. suds.client和導入客戶端什麼是「導入客戶端」
- 14. 什麼是unix的SVN客戶端
- 15. 瀏覽器客戶端存儲又名大型Cookie
- 16. 有什麼方法可以在Redis中存儲客戶端IP?
- 17. 記錄時間在客戶端與客戶端時區
- 18. 爲什麼我的Git憑證不在另一個客戶端時存儲?
- 19. androidviewclient:存儲視圖客戶端轉儲
- 20. EJB:什麼是遠程客戶端?
- 21. 什麼是Google客戶端ID?
- 22. 什麼是本地客戶端?
- 23. 什麼時候關閉WCF客戶端?
- 24. 在postgresql表中存儲具有區域的客戶端datimetime
- 25. Go語言的Cassandra數據存儲區客戶端
- 26. HTTP客戶端Cookie c#
- 27. 可查詢的客戶端存儲
- 28. 存儲客戶端的正確信息
- 29. 存儲數據客戶端的框架
- 30. 客戶端本地存儲的數據
@DonCallisto他可能沒有得到他需要的答案,他的大部分問題。 – noob 2012-04-19 13:15:37
謝謝你們,這兩條評論都很有用。事實上我沒有得到我需要的答案,但記住它是件好事。 – Karol 2012-04-19 13:49:01
您可能會發現['$ cookie-> setExpiryTime($ expiryTime)'](https://github.com/delight-im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L80)或['$ cookie-> setMaxAge($ maxAge)'](https://github.com/delight-im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L92)有幫助,在[這個獨立的庫]中找到( https://github.com/delight-im/PHP-Cookie)。 – caw 2016-09-21 02:43:03