2009-12-16 82 views
3
setcookie('id', null, 1, "/", ".domain.name"); 

以上只会删除一个特定的cookie,但如何删除它们呢?如何删除PHP中的所有cookie?

+0

检查这个答案:HTTP:// stackoverflow.com/questions/2310558/how-to-delete-all-cookies-of-my-website-in-php/2310591#2310591 – trante 2013-01-04 19:12:26

回答

13

这应该做的伎俩:

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

它也适用于多维数组吗? – user198729 2009-12-16 02:12:47

+0

不知道你期望如何设置一个多维数组cookie,除非这个id很像'test [something]' – 2009-12-16 02:33:33

+0

好,是的,因为它指的是cookie的名字,所以无论cookie是什么类型,它将被清除。 – 2009-12-16 06:50:09

-10

人,是不是容易,只需清除所有Cookie是这样的:

$_COOKIE=array(); 
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, '/'); 
     } 
    }