php:如何正确删除所有cookie?

时间:2016-09-19 00:31:43

标签: php cookies

理想情况下,要删除php中的cookie,应该在创建cookie时设置完全相同的参数,除了值和过期时间:

创建cookie:

setcookie('cookie1', 'value1', time()+10000, '/', 'domain.com', false, true);

删除Cookie:

setcookie('cookie1', '', time()-10000, '/', 'domain.com', false, true);

但是,如何在我想要删除它时获取设置创建cookie的参数?假设我没有跟踪这些参数,例如,Cookie是用第三个创建的党的图书馆

是的,有删除方法:

setcookie($name, '', time() - 1000, "/");
setcookie($name, '', time() - 1000);

但它是否理想地"正确的做法?所有浏览器(包括旧版)都支持这个吗?

任何方式,正确删除所有浏览器的所有Cookie的方法是什么

如何设置完全相同的参数删除cookie(如果我不跟踪cookie的创建)?

1 个答案:

答案 0 :(得分:0)

if (isset($_SERVER['HTTP_COOKIE'])) {//do we have any
    $cookies = explode(';', $_SERVER['HTTP_COOKIE']);//get all cookies 
    foreach($cookies as $cookie) {//loop
        $parts = explode('=', $cookie);//get the bits we need
        $name = trim($parts[0]);
        setcookie($name, '', time()-1000);//kill it
        setcookie($name, '', time()-1000, '/');//kill it more
    }
}

来自笔记:http://php.net/manual/en/function.setcookie.php