php中可利用setcookie()函數來修改cookie時間,只需給該函數的第三個參數設定一個時間值即可;語法格式“setcookie(名稱,值,expire)”,參數expire規定cookie的過期時間(Unix時間戳的形式)。
本教學操作環境: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('Website', 'PHP中文网'); setcookie('Title', 'Cookie', time()+3600); // 设置 Cookie 1 小时后过期 setcookie('Url', 'https://www.php.cn/', time()+3600, '/', 'www.php.cn', false); echo '<pre class="brush:php;toolbar:false">'; print_r($_COOKIE); ?>
輸出:
Array ( [Website] => PHP中文网 [Title] => Cookie [Url] => https://www.php.cn/ )
使用setcookie() 函數修改cookie時間為過期時間---即刪除cookie
<?php setcookie('Website',''); setcookie('Title','Cookie',time()-1); echo '<pre class="brush:php;toolbar:false">'; print_r($_COOKIE); ?>
運行結果如下:
Array ( [Url] => http://c.biancheng.net/php/ )
推薦學習:《PHP影片教學》
以上是php怎麼修改cookie時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!