首頁  >  文章  >  後端開發  >  php怎麼修改cookie時間

php怎麼修改cookie時間

青灯夜游
青灯夜游原創
2021-07-13 18:28:542244瀏覽

php中可利用setcookie()函數來修改cookie時間,只需給該函數的第三個參數設定一個時間值即可;語法格式“setcookie(名稱,值,expire)”,參數expire規定cookie的過期時間(Unix時間戳的形式)。

php怎麼修改cookie時間

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

在php中,可以利用setcookie ()函數來修改cookie時間。

setcookie() 函數傳送一個 HTTP cookie給客戶端。

cookie 是由伺服器傳送到瀏覽器的變數。 Cookie 通常是伺服器嵌入到使用者電腦中的小文字檔案。每當同一台電腦透過瀏覽器請求頁面時,就會傳送這個 cookie。

cookie 的名稱會自動指定為相同名稱的變數。例如,如果被傳送的 cookie 名為 "user",則會自動建立一個名為 $user 的變量,包含 cookie 的值。

必須在任何其他輸出傳送到客戶端前對 cookie 進行賦值。

如果成功,函數傳回 TRUE。如果失敗則傳回 FALSE。

setcookie() 函數的語法格式如下:

setcookie($name,$value,$expire,$path,$domain,$secure,$httponly)

參數說明如下:

  • $name:設定Cookie 的名稱;

  • $value:可選參數,用來設定Cookie 的值。可以透過$_COOKIE['$name'] 的形式來取得$value 的值;

  • $expire:可選參數,用來設定Cookie 的過期時間,這個時間是Unix時間戳的形式。如果設定成零或忽略該參數,Cookie 會在會話結束時過期(也就是關掉瀏覽器時);

  • $path:可選參數,用來設定Cookie 有效的伺服器路徑。設定成 '/' 時,Cookie 對整個網域 $domain 有效。如果設定成'/foo/',則 Cookie 僅對 $domain 中 /foo/ 目錄及其子目錄有效(例如 /foo/bar/)。預設值為設定 Cookie 時的目錄;

  • $domain:可選參數,用來設定 Cookie 的有效網域/子網域。設定成子網域(例如 'c.biancheng.net'),會使 Cookie 對這個子網域和它的三級網域有效(例如 php.c.biancheng.net)。要讓Cookie 對整個網域有效(包括它的全部子網域),只要設定成網域就可以了(例如'biancheng.net');

  • secure:可選參數,用來設定這個Cookie 是否僅僅透過安全的HTTPS 連線傳給客戶端。設定成TRUE 時,只有安全連線存在時才會設定Cookie;

  • $httponly:可選參數,當設定成TRUE 時,Cookie 僅可透過HTTP 協定訪問,也就是說Cookie 無法透過類似JavaScript 這樣的腳本語言存取。設定此參數可以有效的減少受到 XSS 攻擊的風險。

注意:如果在呼叫 setcookie() 函數先前產生了輸出,setcookie() 會呼叫失敗並傳回 FALSE。如果 setcookie() 成功運行,則會傳回 TRUE。

範例:

使用 setcookie() 函數建立 Cookie。

<?php
    setcookie(&#39;Website&#39;, &#39;PHP中文网&#39;);
    setcookie(&#39;Title&#39;, &#39;Cookie&#39;, time()+3600);  // 设置 Cookie 1 小时后过期
    setcookie(&#39;Url&#39;, &#39;https://www.php.cn/&#39;, time()+3600, &#39;/&#39;, &#39;www.php.cn&#39;, false);
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($_COOKIE);
?>

輸出:

Array
(
    [Website] => PHP中文网
    [Title] => Cookie
    [Url] => https://www.php.cn/
)

使用setcookie() 函數修改cookie時間為過期時間---即刪除cookie

<?php
    setcookie(&#39;Website&#39;,&#39;&#39;);
    setcookie(&#39;Title&#39;,&#39;Cookie&#39;,time()-1);
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($_COOKIE);
?>

運行結果如下:

Array
(
    [Url] => http://c.biancheng.net/php/
)

推薦學習:《PHP影片教學

以上是php怎麼修改cookie時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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