首頁 >後端開發 >PHP問題 >php cookie怎麼設定過期時間?

php cookie怎麼設定過期時間?

青灯夜游
青灯夜游原創
2020-07-21 11:38:414365瀏覽

PHP中可以使用setcookie()函數設定cookie的過期時間。語法為「setcookie(name,value,expire,path,domain,secure)」;其中expire參數用於指定cookie的有效期,即過期時間戳記。

php 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn