cookie数据,不仅有名字(cookie名)和内容(cookie值),每个还有如下选项(设置)可用:
setcookie(“cookie名”,”cookie值” 【, 有效时间,有效路径,有效域名,是否https, 是否仅仅http】);
l cookie的有效时间:
n 默认,不设置cookie时间,则有效时间是浏览器关闭之前——即会话时间。
n 可以设置为任何一个时间点(时间戳):time()+24×3600,即1天之内
n 如果设置为0,也表示“会话时间”,即浏览器窗口关闭就失效。
l cookie的有效路径:
n 用于设定某个cookie在网站的哪个目录下有效,比如:
n setcookie(“c1”, “value1”, 0, “/dir1”); //结果,只有网站中dir1中的程序才能读到这个cookie
n 通常,cookie的有效路径的默认就是该设置cookie的文件所在目录。
n 通常,如果需要设置,都设置为根目录:setcookie(“c2”, “value2”, 0, “/” );
l cookie的有效域名:
n setcookie(“c2”, “value2”, 0, “/”,”www.php42.com” );
n setcookie(“c2”, “value2”, 0, “/”,”news.php42.com” );
n setcookie(“c2”, “value2”, 0, “/”,”mv.php42.com” );
n setcookie(“c2”, “value2”, 0, “/”,”php42.com” ); //此时,所有以php42.com的域名都有效
n setcookie(“c2”, “value2”, 0, “/”,”www.php41.com” ); //这个设置无效,因为不能设置到别的域名
l cookie是否仅在https协议下有效:默认false
n 有的网站(网页),是http协议,有的是https协议
n setcookie(“c2”, “value2”, 0, “/”,”www.php42.com”,true );//此时,只有https协议下的网页请求才可以读到这个cookie,很少用。
l cookie是否仅在http 请求时有效:默认false,表示都可以用
n cookie在php中可以使用(获取),在js中也可以!
n 这项设置,无非就是来决定是否允许js来使用php设置的cookie数据
n setcookie(“c2”, “value2”, 0, “/”,”www.php42.com”,false, true );此时,该cookie只能有php来获取,js获取不到。