如何在PHP中删除所有的cookies?

3
setcookie('id', null, 1, "/", ".domain.name");

上述方法仅能删除特定的cookie,但如何删除所有cookie?

请查看此答案:https://dev59.com/ZnE95IYBdhLWcg3wb9db#2310591 - trante
3个回答

13
这应该可以解决问题:
foreach ($_COOKIES as $c_id => $c_value)
{
    setcookie($c_id, NULL, 1, "/", ".domain.name");
}

除非ID为test[something],否则不清楚您如何设置多维数组Cookie。 - Tyler Carter
好的,是的,由于它参考了cookie的名称,所以无论cookie是什么类型,都会被清除。 - Michal M
4
一般来说你的答案是正确的,但是存在一个错误——应该是$_COOKIE而不是$_COOKIES。 - Sych

0
    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, '/');
        }
    }

-11

哥们,这样清除所有的cookie不是更简单吗:

$_COOKIE=array();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接