一句話概括兩個參數意義各為:
path表示cookie所在的目錄
domain表示的是cookie所在的網域,預設為請求的位址
首先修改我們的hosts 檔案我本機內網ip 192.168.1.162
一.
我們在web根目錄下建立資料夾cookietest 建立檔案index.php
<?php setcookie('t1','t1',time()+3600,'/','simael.php.com'); setcookie('t2','t2',time()+3600,'/','php.com'); setcookie('t3','t3',time()+3600,'/','m0sh1.php.com'); setcookie('t4','t4',time()+3600,'/cookietest','simael.php.com'); setcookie('t5','t5',time()+3600,'/cookietest','php.com'); setcookie('t6','t6',time()+3600,'/cookietest','m0sh1.php.com'); echo __FILE__; // E:\wamp\www\cookietest\index.php echo '<br>'; ?>
沒有t4 t5 是因為設定cookie時候設定了path的原因
. .php.com/cookietest/index2.php 結果:
四.
結果同(二)
四.
.php 結果:<?php //setcookie('t1','t1',time()+3600,'/','simael.php.com'); //setcookie('t2','t2',time()+3600,'/','php.com'); //setcookie('t3','t3',time()+3600,'/','m0sh1.php.com'); //setcookie('t4','t4',time()+3600,'/cookietest','simael.php.com'); //setcookie('t5','t5',time()+3600,'/cookietest','php.com'); //setcookie('t6','t6',time()+3600,'/cookietest','m0sh1.php.com'); setcookie('t7','t7',time()+3600,'/cookietest/test1','simael.php.com'); setcookie('t8','t8',time()+3600,'/cookietest2/test1','simael.php.com'); echo __FILE__; echo '<br>'; ?>
沒有t7 t8 證明上一級目錄不能獲取到下一級目錄設定的cookie
但是有個沒弄清楚的地方:
上面截圖是chorme 瀏覽器的效果
下再看firefox
6
cookies 中有t7 報錯是我打印$_COOKIE['t7'] 的結果即獲取不到t7 再看看控制台
可見也沒有t7 只有在cookies 選項卡下可以看到t7 但是是獲取不到的(這篇內容只是順便提一下- -!)
訪問http://simael.php.com/cookietest/test1/index.php 結果:
這時候就看到了t7說明在上一層的index.php 中cookie設定生效了只不過只有在對應的path下才能取得到
造訪http://m0sh1.php.com/cookietest/index2.php
只有t2 t5 說明在simeal.php.com 中為域名m0sh1.php.com 設定cookie 是不生效的,同時因為cookie 設置的domain
但是能獲取到.php.com 網域下的cookie 資訊即設定cookie的domain 為php.com
可以在任意 *.php.com 網域下取得到cookie資訊
以上就介紹了 cookie的path和domain參數實例解析,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。