[英]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.