个人博客
专注IT梦想的地方

PHP之Cookie

说到cookie其实一直对于这个词来说不陌生,毕竟接触web很久了,但是一直不知道具体怎么实现,内心就一直很期待,后来接触了些HTML5,发现cookie的实现也可以通过WebStorage来处理,而且后者优势比较明显,但是对于cookie智言我是陌生的,毕竟是元老了,那么智言今天就分享的是关于php中cookie的相关知识。

首先,对于cookie来说,它其实是保存在客户端的一种以键值对形式存在的临时数据,这个数据的有效时间是可以控制的,而且在某些版本的浏览器中是明文的,所以对于cookie来说是存在一定安全隐患的,这也是导致它不安全的原因,但是如果你仅仅是作为一个简单记录点,那么它还是很好用的,但是同样浏览器也规定了它的大小限制,估计也就4K左右吧,所以非常的有限。

那么在php中,我们可以通过下面的函数来设置一个cookie:

<?php
    setCookie($key,$value [,$settime]);
?>

$key:就是你需要设置的一个key键,类似于一个name。

$value:一个你需要对应key的值,可以是任意的。

$settime:可选,你可以设置一个cookie存放的时间,以秒为单位,如果为负数表示你需要删除你设置的相关key和value,如果你没有设置,那么此时cookie仅仅存在你当前未关闭的浏览器中,关闭即消失了。

例如:

<?php
    setCookie("name","www.asni.cn",time()+3600);
?>

上面的代码表示我设置了一个cookie的内容为name=www.asni.cn,并且存在的时间为当前时间加上3600秒,即一个小时,当1个小时过后cookie就自动删除了。

那么我们这个是通过用户访问了我们的php页面后,由我们的服务器来为用户设置一个cookie,那么我们如何通过php来访问为用户设置的cookie内容呢?

同样,我们可以通过以下函数来获取:

<?php
    $_COOKIE['$key'];
?>

那么我们在php中通过$_COOKIE函数来获取到你网站中为用户设置的cookie内容,那么如果我们输入以下代码会显示出你之前设置的cookie值:

<?php
    echo $_COOKIE['name'];
?>

以上显示:www.asni.cn

当然,必须在我设置了cookie后的一个小时内才会显示出来,如果超过设定的3600秒,那么我们设置的name=www.asni.cn就将被浏览器删除了。

注意:

  1. 你只能获取到你设置cookie的域名下的cookie值;
  2. 如果需要删除,只需要把settime设置成负数即可;
  3. cookie的存储容量太小,大概在4K左右;
  4. cookie是以明文的形式存在的,所以不建议你存储有隐私的内容;
  5. 还有很多,这里就不一一介绍了,希望大家也可以在其他地方查找。
赞(1) 打赏
未经允许,不得转载本站任何文章:智言个人博客 » PHP之Cookie

评论 3

评论前必须登录!

 

  1. #0

    [扑克脸]

    大哥来玩玩5年前 (2015-10-05)
  2. #0

    测试图片
    兔子baby.jpg

    智言5年前 (2015-09-14)
  3. #0

    测试图片
    %E5%85%94%E5%AD%90baby.jpg

    智言5年前 (2015-09-14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏