【问题标题】:Gathering cookies收集饼干
【发布时间】:2010-08-13 07:40:31
【问题描述】:

我什至不知道如何描述我正在尝试做的事情,因为我对 cookie 了解不多,但这里是。

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

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

【问题讨论】:

  • I don't know a whole lot about cookies。没关系。但是您是否知道您想要完成的实际任务是什么?为什么你需要所有这些饼干混乱?如果是这样,你最好告诉你的目标,而不是你选择的方式
  • Cookies 不存储在浏览器的“缓存”中——即临时存储文档、脚本、css、图像等以供快速访问的术语。 Cookie 通常存储在 cookie 文件或数据库中,与缓存完全分开。

标签: php firefox cookies


【解决方案1】:

在 PHP 中,您可以从 $_COOKIE 数组中读取用户系统中的所有 cookie(您有权读取)。

您可以通过使用setcookie() 并将它们设置为空白字符串来清除用户系统上的这些 cookie,但您通常需要知道之前设置 cookie 的确切主机名和路径,并再次提供相同的,以便能够正确删除它们。

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

当然不是全部在同一个页面视图中。

【讨论】:

    【解决方案2】:

    获取 cookie 数据:

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

    假设“名称”cookie 已在前面设置 上面的例子会输出类似于:

    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

    设置 cookie:

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

    【讨论】:

      【解决方案3】:

      PHP 通常与客户端计算机无关,尤其是浏览器缓存。
      PHP只能获取cookie,它是浏览器自愿发送的,之前是同一台服务器设置的。

      当然,服务器可能会发送一个空的或过期的cookie,等于删除,或者相同的cookie具有另一个值

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-06
        • 2010-09-15
        • 2016-03-21
        • 2010-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多