Разница между $ _SERVER [‘HTTP_COOKIE’] и $ _COOKIE

В чем разница между $ _SERVER [ ‘HTTP_COOKIE’] а также $ _COOKIE?

Зачем $ _SERVER [ ‘HTTP_COOKIE’] не задокументировано в руководстве по PHP?

Я создаю класс для управления cookie-файлами и хочу создать функцию, которая уничтожает все установленные cookie-файлы. Я должен уничтожить переменную $ _SERVER [‘HTTP_COOKIE’], например:

public function destroy_all() {
$cookies = explode(';', $_SERVER['HTTP_COOKIE']);
foreach($cookies as $cookie) {
$parts = explode('=', $cookie);
$name = trim($parts[0]);
setcookie($name, null, 1, $this->cookie_path);
}
}

или с массивом $ _COOKIE, например:

public function destroy_all() {
foreach($_COOKIE as $name => $cookie) {
setcookie($name, null, 1, $this->cookie_path);
}
}

3

Решение

Не у всех серверов есть глобальная переменная this $_SERVER['HTTP_COOKIE'], На моем хосте общего доступа эта переменная отсутствует. Тем не мение, $_COOKIE переменная обычно гарантированно доступна.

0

Другие решения

Вы не должны использовать значение в $_SERVER["HTTP_COOKIE"], Это не задокументировано, поэтому, вероятно, не надежно. больше деталей кликните сюда
.Обратите внимание, что $_COOKIE переменная not будет содержать несколько файлов cookie с одним и тем же именем

0

По вопросам рекламы [email protected]