簡體   English   中英

$_SERVER['HTTP_COOKIE'] 和 $_COOKIE 的區別

[英]Difference between $_SERVER['HTTP_COOKIE'] and $_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);
    }
}

並非所有服務器都具有此全局變量$_SERVER['HTTP_COOKIE'] 在我的共享主機上,他們沒有此變量可用。 但是, $_COOKIE變量通常可以保證可用。

您不應該使用$_SERVER["HTTP_COOKIE"] 它沒有記錄,所以它可能不可靠。 更多詳情請點擊這里 。注意$_COOKIE變量不會包含多個具有相同名稱的cookie

實際上 $_SERVER 是一個包含這些全局變量的全局變量

$_SERVER = $_COOKIE + $_SESSION + $_GET + $_POST

用戶 $_SERVER 可以獲取 cookie 但不是標准的,也許你的項目會發生沖突

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM