2010-08-13 107 views
2

我甚至不知道如何描述我想要做的事情,因为我不知道一大堆关于饼干的事情,但是在这里。收集饼干

是否可以使用PHP从浏览器缓存中收集cookie(或cookie文件),将其保存到数据库中,然后清除缓存并将其保存回原来的位置?

执行此操作会涉及什么?从浏览器缓存中读取?我是否需要给它一个保存cookie的路径,还是可以通过直接与浏览器通信来自动获取? PHP可以处理吗?

+0

'我不知道一大堆有关cookies'。没关系。但是你碰巧知道你想要实现什么样的实际任务吗?为什么你需要所有这些cookie混乱?如果是这样,你最好告诉你的*目标*,而不是*你选择的方式。 – 2010-08-13 08:39:34

+0

Cookie不会存储在浏览器的“缓存”中 - 这是用于临时存储文档,脚本,css,图像等以便快速访问的术语。 Cookie通常存储在cookie文件或数据库中,与缓存完全分开。 – JAL 2010-08-17 12:03:39

回答

2

获取Cookie数据:

<?php 
echo 'Hello ' . htmlspecialchars($_COOKIE["name"]) . '!'; 
?> 

假设“名字”曲奇已设置较早 上面的例子将输出类似于:

Hello Hannes! 

你可以遍历的所有Cookie阵列与:

foreach($_COOKIES as $name => $cookie){ 
    echo "Cookie: $name has a delicious center consisting of: "; 
    print_r($cookie); 
} 

http://www.php.net/manual/en/reserved.variables.cookies.php

设置cookies:

http://www.php.net/manual/en/function.setcookie.php

4

在PHP中,你可以从$_COOKIE阵列读取用户系统中所有Cookie(您有权阅读)。

您可以通过使用setcookie()并将其设置为空字符串来清除这些cookie,尽管您通常需要知道cookie先前设置的确切主机名和路径,然后再次给予相同的cookie能够正确删除它们。

然后,您可以再次将cookie设置为之前从$ _COOKIE数组获得的值。

当然不是所有人都在同一页面。

2

PHP与客户端的计算机,尤其是浏览器缓存无关。
PHP只能得到cookie,它由哪个浏览器自由发送,哪些是由同一个服务器设置的。

当然,服务器可以发送一个空的或过期的饼干等于删除或相同的Cookie与另一个值