- setcookie() 函數向客戶端發送一個 HTTP cookie。
- cookie 是由服務器發送到瀏覽器的變量。cookie 通常是服務器嵌入到用戶計算機中的小文本文件。每當計算機通過瀏覽器請求一個頁面,就會發送這個 cookie。
- cookie 的名稱指定爲相同名稱的變量。例如,如果被髮送的 cookie 名爲 "name",會自動創建名爲 $user 的變量,包含 cookie 的值。
- 必須在任何其他輸出發送前對 cookie 進行賦值。
- 如果成功,則該函數返回 true,否則返回 false。
- 語法
- setcookie(name,value,expire,path,domain,secure)
- 參數 描述
- name 必需。規定 cookie 的名稱。
- value 必需。規定 cookie 的值。
- expire 可選。規定 cookie 的有效期。
- path 可選。規定 cookie 的服務器路徑。
- domain 可選。規定 cookie 的域名。
- secure 可選。規定是否通過安全的 HTTPS 連接來傳輸 cookie。
- 第一個:name,必選參數,這個是cookie的變量名,可以通過$_COOKIE['user']調用變量名爲user的cookie.
- 第二:value,可選參數,這個cookie變量的值,比如說setcookie(“user”,”php”),我們通過調用$_COOKIE['user']可以得到php值;
- 第三個:expire,可選參數,這個是用來設置cookie變量保存的時間,注意是我們設置的的UNIX時間戳減去當前的UNIX時間戳纔是 cookie變量保存的時間。(UNIX時間戳:是從1970年1月1日(UTC/GMT的午夜)開始所經過的秒數) ,一般我們可以通過time()函數獲取當前的UNIX時間戳,再加上我們要保存的時間(單位爲秒)比如說,setcookie(“user”,”php”,time()+3600),這樣我們就可以保存user這個cookie變量的時間爲3600秒。另外我們可以通過設置的時間戳小於當前的時間戳來刪除cookie變量,比如說setcookie(“user”,”php”,time()-1)這樣我們就刪除了user這個cookie變量了。
- 第四個:path,cookie的有效範圍,這個參數是下一個參數domain基礎上的有效範圍,如果path設置爲”/”,那就是在整個 domain都有效,比如setcookie(“user”,”php”,time()+3600,”/”),這樣我們domain下的任何目錄,任何文件都可以通過$_COOKIE['user']來調用這個cookie變量的值。如果path設置爲”/test”,那麼只在domain下的/test 目錄及子目錄纔有效,比如domain下有兩個目錄: test1,test2,我們設置爲setcookie(“user”,”php,time()+3600,”/test1″),那麼只有test1目錄下才能通過$_COOKIE['user']調用user這個cookie變量的值,test2目錄下獲取不到。
- 第五個:domain,cookie有效的域名,如果domain,設置爲googlephp.cn,那麼在googlephp.cn下的所有子域都有效。假設googlephp.cn有兩個子域,php.googlephp.cn,css.googlephp.cn,我們設置爲 setcookie(“user”,”php”,time()+3600,”/”,”php.googlephp.cn”),那麼只有在 php.googlephp.cn這個子域下才能獲取user這個cookie變量的值. 再舉一個例子:setcookie(“user”,”php”,time()+3600,”/test”,”php.googlephp.cn”),那麼只有在php.googlephp.cn這個子域下的test目錄下才能獲取user這個cookie變量的值.
- 第六個:secure,值cookie是否僅通過安全的https,值爲0或1,如果值爲1,則cookie只能在https連接上有效,默認值爲 0,表示cookei在http和https連接上都有效。
setcookie參數詳解
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.