PHP-Cookie使用说明

网络整理 - 08-26

  PHP透明地支持HTTP Cookie

  1.什么是Cookie

  Cookie是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制.

  2.PHP如何设置Cookie

  在PHP中可以使用setcookie()或setrawcookie()函数来设置cookie.cookie是http头的一部分,因此setcookie()等函数必须在其输出数据座之前被调用,这和header()函数是相同的.不过在这里也可以使用输出缓冲函数来延迟脚本的输出.直到设置好了所有cookie和其他http标头.

<?php
 $value = “something”;
 setcookie(“TestCookie”,$value); //设置cookie值
 setcookie(“TestCookie”,$value,time()+3600); //设置失效时间
?>

  如果希望对一个cookie变量设置多个值,则可以在cookie变量名称后面加[]符号.

<?php
 // set the cookies
 setcookie(“cookie[three]“, “cookiethree”);
 setcookie(“cookie[two]“, “cookietwo”);
 setcookie(“cookie[one]“, “cookieone”);
?>

  setcookie()还可以设置控制读取cookie的程序的域及目录路径,默认为同服务器且在同级或以下目录结构内的页面才可以读取,然而如果你想设置允许从域example.com的/~rasmus目录处理页面,并且使用基于SSL的安全连接,则可以进行如下设置:

<?php
 $value = “something”;
 setcookie(“TestCookie”,$value,time()+3600,”/~rasmus/”,”.example.com”,1);
?>

     删除cookie的操作与上面类似,只需要设置cookie的值为空即可.

<?php
 // set the expiration date to one hour ago
 setcookie (“TestCookie”, “”, time() – 3600);
 setcookie (“TestCookie”, “”, time() – 3600, “/~rasmus/”, “.example.com”, 1);
?>

  注意:

  根据register_globals的设置,可以从cookie建立普通的php变量,不过一般不推荐依赖于此特性,因为出于安全考虑该选项通常是关闭的.

  必须保证在设置cookie前无数据输出.

  PHP会自动的接收和处理cookie,我们只需要在需要它的时候直接调用即可,你可以使用print_r($_COOKIE)把整个cookie数组的值全部打印出来.