2009-12-16 218 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, '/'); 
     } 
    }