理想情况下,要删除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的创建)?
答案 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
}
}