6-2-2 設定Cookies物件的使用期限
[color=DarkRed][b][size=4]6-2-2 設定Cookies物件的使用期限[/size][/b][/color]若只指定Cookie物件名稱來寫入資料,而沒有在指定Cookies物件的有效期限,則Cookie物件將只存在於瀏覽器之中,當瀏覽器關閉後Cookie物件就消滅了。
Cookie物件的生命週期起始於瀏覽器被執行時。終止於瀏覽器結束執行時。那如果我們要延長Cookies 物件的生命週期呢?若要延長Cookie 物件的生命週期我們可另用『Expires』參數來設定Cookies的生命週期(Expires表失效),如下所示:[code]setcookie(“名稱”, ”資料值”,”存活期限”);"[/code]例如:使用time()函數取得時間戳記(自01/01/1970日起到目前的日期時間秒數)加上Cookie 物件的可存活秒數:[code]//在10分鐘(600秒)後消滅
setcookie("myname","charles",time()+600);
//在3600秒後消滅
setcookie("myname","charles",time()+3600);[/code]要讓Cookie在特定的日期時間消滅,這時可改用mktime()函數來做,mktime()函數格式如下:
[color=Magenta]mktime() 函數格式[/color][code]int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]])[/code]使用mktime()函數設定Cookie到期時間:[code]//在2009年1月1日消滅
setcookie("myname","charles",mktime(0,0,0,1,1,2009));
//在2010年10月5日上午10點消滅
setcookie("myname","charles",mktime(10,0,0,10,5,2010));[/code] [color=Magenta]實做學習2[/color]:
延續實做學習1,為Cookies 物件建立使用期限,證明Cookies 物件確實是儲存在瀏覽連線者的瀏覽器之中。
ex6_6.php[code]<?
ob_start();
if (!isset($_COOKIE["mynum"]))
{
echo "這是您第1次來";
$life = mktime(10,0,0,10,5,2010);
setcookie("mynum",1,$life);
}
else
{
$num=$_COOKIE["mynum"];
$num++;
echo "這是您第 " . $num . "次來<br>";
$life = mktime(10,0,0,10,5,2010);
setcookie("mynum",$num,$life);
}
?>[/code]啟動瀏覽器,開始瀏覽ex6_6.php,此時我們將會發現在『C:\Documents and Settings\XXX\ Local Settings\Temporary Internet Files』目錄中的快取記憶中不但有範例ex6_6的程式網頁暫存檔,同時還多出Cookie 的物件檔案!這次因為我們有設定Cookie物件的到期日為Cookie物件使用後到失效期限內內都有效,因此,該Cookie物件會以一個文字檔案的格式存在於瀏覽器中。
[attach]5560[/attach]
圖6-10 文字檔案格式的Cookie記錄檔。
[color=Red]提示!![/color]所有的Cookie檔案都有一個預設的網域與路徑,只有建立此Cookie的網域與路徑才能存取這個Cookie檔案。
頁:
[1]