php cookie工作原理与实例详解
在php 中cookie是我们常用到的,但是可能很多朋友都不知道cookie是怎么工作的,下面小编来给大家整理一下关于php cookie
工作原理与一些对于cookie读写操作实例。
cookie和会话状态
做bs开发,这两个概念必不可少,先来个大概了解,没有实际应用很难深入,深入看参考地址!
什么是 cookie?
cookie 是一小段文本信息,伴随着用户请求和页面在 web 服务器和浏览器之间传递。用户每次访问站点时,web 应用程序都可以读取 cookie 包含的信息。 cookie 的基本工作原理如果用户再次访问站点上的页面,当该用户输入 urlwww.*****.com时,浏览器就会在本地硬盘上查找与该 url 相关联的 cookie。如果该 cookie 存在,浏览器就将它与页面请求一起发送到您的站点。
cookie 有哪些用途?
最根本的用途是:cookie 能够帮助 web 站点保存有关访问者的信息。更概括地说,cookie 是一种保持web 应用程序连续性(即执行“状态管理”)的方法.使 web 站点记住您.
•当客户访问某个基于php技术的网站时,在php中可以使用setcookie()函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在c:documents andsettings用户名cookies目录下。
•cookie是http标头的一部分,因此setcookie()函数必须在html本身的任何内容送到浏览器之前调用。这种限制与header()函数一样(如需了解head()函数,请自行查阅)。
•当客户再次访问该网站时,浏览器会自动把c:documentsandsettings用户名cookies目录下与该站点对应的cookie发送到服务器,服务器则把从客户端传来的cookie将自动地转化成一个php变量。在php5中,客户端发来的cookie将被转换成全局变量。你可以通过$_cookie[‘xxx']读取。
定义一个cookie
•设置cookie:
•语法:boolsetcookie(stringname,[stringvalue,[int expire,[stringpath,[stringdomain,[int secure]]]]]);
本cookie函数可以有6个属性,常用的有3个参数。
1.实例:
代码如下
$value="the best way is by yourself"; setcookie("cookiename",$value,time()+60*60*24*7);
1.接收和处理cookie
php对cookie有很好的支持,和form表单一样,接收的时候php会自动从web服务器接收http头并且它。接收的时候和表单接收一样,用$_cookie[“cookiename”]或者$http_cookie_vars[“cookiename”](不提倡使用)
1.注意:
如果网站有几个不同的文件目录,使用不带路径的cookie,那么只能在设置cookie的文件所在路径下访问到此cookie。如果指定路径,则按照设置时的路径作为访问cookie的指定路径。
创建cookie数组:
1.其一:
代码如下
setcookie("cookiearray[0]","value1"); setcookie("cookiearray[1]","value2");
1.其二:
代码如下
setcookie("cookiearray['one']","value1"); setcookie("cookiearray['two']","value2");
1.setcookie()中使用数组
代码如下
<?php setcookie("cookie[three]","cookiethree"); setcookie("cookie[two]","cookietwo"); setcookie("cookie[one]","cookieone"); //刷新页面后,显示出来 if(isset($_cookie['cookie'])){ foreach($_cookie['cookie']as$name=>$value){ echo"$name:$value<br/>n"; } } ?>
删除cookie
1.要删除一个已经存在的cookie,有两个办法:
1、调用只带有name参数的setcookie,那么名为这个name的cookie将被从客户机上删掉;
setcookie(“mycookie”);//删除mycookie
2、期时间就行,那么这个cookie在这个页面的浏览完之后就被删除了(其实是失效了)。
例如:
代码如下
setcookie(“mycookie”,”value”,time()-1);
//删除mycookie。
要注意:当一个cookie被删除时,它的值在当前页仍然有效。如果要把cookie设置成在浏览器关闭后就失效。那么可以直接把expiretime设为0,或者不设置此值。
例如:setcookie(“name”,”value”,0)。
cookie注意事项
•1、setcookie()之前不能有任何html输出,就是空格,空白行都不行,必须在html文件的内容输出前设置
•2、setcookie()后,你在当前页调用echo$_cookie[“name”]不会有输出。必须刷新或到下一个页面才可以看到cookie值。
•3、不用浏览器对cookie处理不同。客户端可以禁用cookie,浏览器也会限制cookie的数量。一个浏览器能创建的cookie数量最多为300个,并且每个不能超过4kb,每个web站点能设置的cookie总数不能超过20个。
•4、cookie是保存在客户端的,用户禁用了cookie,你的cookie自然也就没作用啦!因此,避免过度依赖cookie,要先想好如果cookie被禁用时的解决方案,以备万一。
以上就是对 php cookie 资料的整理,有需要的朋友可以参考下。
上一篇: Android中利用动态加载实现手机淘宝的节日特效
下一篇: 详解Android6.0运行时权限管理