【问题标题】:How to delete all cookies in PHP?如何删除 PHP 中的所有 cookie?
【发布时间】:2010-12-27 01:49:53
【问题描述】:
setcookie('id', null, 1, "/", ".domain.name");

以上只会删除特定的cookie,但是如何全部删除呢?

【问题讨论】:

标签: php cookies


【解决方案1】:

这应该可以解决问题:

foreach ($_COOKIES as $c_id => $c_value)
{
    setcookie($c_id, NULL, 1, "/", ".domain.name");
}

【讨论】:

  • 不知道你希望如何设置一个多维数组cookie,除非id是test[something]
  • 嗯,是的,因为它指的是cookie的名称,所以无论cookie是什么类型,它都会被清除。
  • 一般来说这是正确的,但你的答案有错误——应该是$_COOKIE,而不是$_COOKIES
【解决方案2】:
    if (isset($_SERVER['HTTP_COOKIE']))
    {
        $cookies = explode(';', $_SERVER['HTTP_COOKIE']);
        foreach ($cookies as $cookie)
        {
            $parts = explode('=', $cookie);
            $name = trim($parts[0]);
            setcookie($name, '', time() - 1000);
            setcookie($name, '', time() - 1000, '/');
        }
    }

【讨论】:

    【解决方案3】:

    伙计,像这样清除所有 cookie 不是更容易吗:

    $_COOKIE=array();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-19
      • 2014-12-23
      • 2013-03-15
      • 1970-01-01
      • 2011-05-27
      • 2012-11-18
      • 2020-12-27
      相关资源
      最近更新 更多