在PHP中,設置Cookie的有效期可以通過setcookie()
函數的第三個參數來實現。該參數表示Cookie的到期時間,是一個Unix時間戳。以下是一些設置Cookie有效期的技巧:
設置一個相對時間:
如果你想要設置一個相對于當前時間的有效期,可以使用time()
函數與有效期秒數相加。例如,設置一個有效期為1小時的Cookie:
$expire = time() + 3600; // 當前時間 + 3600秒
setcookie("name", "value", $expire);
設置一個絕對時間:
如果你想要設置一個絕對的到期時間,可以直接將Unix時間戳傳遞給setcookie()
函數。例如,設置一個在2025年1月1日到期的Cookie:
$expire = mktime(0, 0, 0, 1, 1, 2025); // 2025年1月1日0點0分0秒的Unix時間戳
setcookie("name", "value", $expire);
刪除Cookie:
如果你想要刪除一個Cookie,可以將其到期時間設置為一個過去的時間。例如,將名為"name"的Cookie設置為過期:
$expire = time() - 3600; // 當前時間 - 3600秒
setcookie("name", "", $expire);
設置會話Cookie:
如果你想要創建一個僅在瀏覽器會話期間有效的Cookie(即關閉瀏覽器后失效),可以將到期時間設置為0。這樣,Cookie將在瀏覽器關閉時自動刪除。
setcookie("name", "value", 0);
請注意,設置Cookie的有效期時,務必確保服務器和客戶端的時間設置正確,否則可能導致Cookie過期或未按預期生效。