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

Вышеупомянутое удалит только определенный файл cookie, но как удалить их все?Как удалить все файлы cookie в PHP?

+0

Проверить этот ответ: HTTP: // stackoverflow.com/questions/2310558/how-to-delete-all-cookies-of-my-website-in-php/2310591#2310591 – trante

ответ

13

Это должно сделать трюк:

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

Будет ли он работать и для многомерного массива? – user198729

+0

Не знаете, как именно вы ожидаете установить многомерный массив cookie, если только этот идентификатор не похож на 'test [something]' –

+0

ну, так как он ссылается на имя файла cookie, так что независимо от типа файла cookie, он будет очищено. –

-10

Человек, не проще просто стереть все куки, как это:

$_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, '/'); 
     } 
    } 
Смежные вопросы