本文實例分析了PHP cookie用法。分享給大家供大家參考,具體如下:
會話技術:cookie
允許服務器端腳本在浏覽器存儲數據的技術,
允許服務器向浏覽器發送指令,用來管理存儲在浏覽器端的cookie數據
浏覽器如果存儲了某服務器所存儲的cookie數據,請求時會帶上cookie的數據
//增、改 setcookie(key,val); //刪 setcookie(key,''); //獲取浏覽器攜帶的cookie數據 $_COOKIE[key]
特征:
有效期:
默認是臨時cookie,也叫會話cookie,會話結束(浏覽器關閉)就清除。可以通過設置時間戳(1970年第一秒起)確定生命期,在浏覽器端時間以格林威治標准時間(GMT)作為標准
setcookie(key,val,time()+60); //代表保存1分鐘,浏覽器會檢查是否失效 setcookie(key,val,0); //默認會話 setcookie(key,'',time()-1); //刪除cookie setcookie(key,val,PHP_INT_MAX); //邏輯上表示永久有效
有效路徑:
默認在當前路徑及其後代路徑有效。(路徑不是代碼所在文件的本地磁盤路徑,而是url請求的路徑關系)
不同路徑下同名的cookie可同時存儲於浏覽器,浏覽器會先查找當前目錄內有效的cookie,再向上查找,所有有效的都會攜帶至服務器,服務器端形成$_COOKIE時,會出現重寫效果,先出現的保留,
可以通過設置setcookie()第四個參數為'/'表示站點根目錄有效,即整站有效。有效路徑由浏覽器判斷,有效路徑設置時候服務器會告知浏覽器
setcookie(key,val,0,'/');
有效域:
默認cookie僅僅在當前域下有效
可以通過設置使cookie的有效域,擴展到某個一級域名下的所有子域
me.com //一級域名 lig.me.com //二級域名 bee.me.com //二級域名 setcookie(key,val,0,'','me.com');
是否僅安全傳輸
默認不論浏覽器發出的是http和https協議都會將有效的cookie攜帶給服務器
可以通過設置第六個參數為true,表示激活僅安全傳輸,此時浏覽器發送請求時若為http協議,就不會發送這些設置為僅安全傳輸的cookie,apache需要加載openssl模塊才能使用https協議
setcookie(key,val,0,'','',true);
HTTPonly
默認浏覽器所存儲的腳本可以被其它腳本調用處理
通過設置第7個參數使得只能cookie只能在http請求中使用
setcookie(key,val,0,'','',false,true);
注意:
cookie值只能是字符串類型
cookie鍵可以寫成數組下標的形式
setcookie()前不能有輸出(output_buffering)
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP中cookie用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。