PHP中可以使用setcookie()函數設定cookie的過期時間。語法為「setcookie(name,value,expire,path,domain,secure)」;其中expire參數用於指定cookie的有效期,即過期時間戳記。
setcookie() 函數向客戶端傳送一個 HTTP cookie。
cookie 是由伺服器傳送到瀏覽器的變數。 Cookie 通常是伺服器嵌入到使用者電腦中的小文字檔案。每當同一台電腦透過瀏覽器請求頁面時,就會傳送這個 cookie。
【相關教學推薦:《PHP教學》】
cookie 的名稱會自動指定為相同名稱的變數。例如,如果被傳送的 cookie 名為 "user",則會自動建立一個名為 $user 的變量,包含 cookie 的值。
必須在任何其他輸出傳送到客戶端前對 cookie 進行賦值。
如果成功,函數傳回 TRUE。如果失敗則傳回 FALSE。
語法
setcookie(name,value,expire,path,domain,secure)
參數:
參數 | 描述 |
---|---|
name | 必要。規定 cookie 的名稱。 |
value | 必要。規定 cookie 的值。 |
expire | 可選。規定 cookie 的過期時間。 time() 3600*24*30 將設定 cookie 的過期時間為 30 天。如果這個參數沒有設置,那麼 cookie 將在 session 結束後(即瀏覽器關閉時)自動失效。 |
path | 可選。規定 cookie 的伺服器路徑。 如果路徑設定為 "/",那麼 cookie 將在整個網域內有效.如果路徑設定為 "/test/",那麼 cookie 將在 test 目錄下及其所有子目錄下有效。預設的路徑值是 cookie 所處的目前目錄。 |
domain | 可選。規定 cookie 的網域名稱。 為了讓 cookie 在 example.com 的所有子網域中有效,您需要將 cookie 的網域設定為 ".example.com"。當您把 cookie 的網域設定為 www.example.com 時,cookie 僅在 www 子網域中有效。 |
secure | #可選。規定是否需要在安全的 HTTPS 連線來傳輸 cookie。如果 cookie 需要在安全的 HTTPS 連線下傳輸,則設定為 TRUE。預設是 FALSE。 |
設定cookie過期時間
設定cookie在一天後過期失效
setcookie ("mycookie", "123", time()+3600*24); /* http://www.manongjc.com/article/1258.html */
time()表示目前時間的時間戳,time() 3600*24就表示未來24小時的時間戳記。
同理,設定cookie在一年後過期失效
setcookie ("mycookie", "123", time()+3600*24*365);
刪除cookie
透過把失效日期設定為過去的日期/時間,刪除一個cookie:
setcookie("username", "", time()-3600,"/amazon"); setcookie("lastlogin", "", time()-3600,"/amazon"); setcookie("userid", "", time()-3600,"/amazon");
刪除目前會話的所有cookie
foreach($_COOKIE as $key=>$val){ setcookie($key,"",time()-3600,"/amazon");
以上是php cookie怎麼設定過期時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!