📜  在 php 中检索 cookie(1)

📅  最后修改于: 2023-12-03 14:51:04.205000             🧑  作者: Mango

在 PHP 中检索 Cookie

在PHP中,可以使用超级全局变量$_COOKIE来访问和检索Cookie。Cookie是在服务器端设置并发送到浏览器的小型数据文件,浏览器会将其存储在用户的计算机上,并在以后的请求中发送回服务器。

以下是一些检索Cookie的方法:

方法一:使用$_COOKIE全局变量

$_COOKIE是一个关联数组,其中包含当前请求中可用的所有Cookie。

// 获取单个Cookie值
$cookieValue = $_COOKIE['cookie_name'];

// 检查Cookie是否存在
if (isset($_COOKIE['cookie_name'])) {
    // 在此处编写代码
}
方法二:使用filter_input函数

您还可以使用filter_input函数来检索Cookie值。该函数返回指定类型的过滤后的输入数据。

// 获取单个Cookie值
$cookieValue = filter_input(INPUT_COOKIE, 'cookie_name');
方法三:使用$_REQUEST超级全局变量

$_REQUEST是一个合并了$_GET$_POST$_COOKIE的关联数组。使用$_REQUEST可以检索包括Cookie在内的所有请求数据。

// 获取单个Cookie值
$cookieValue = $_REQUEST['cookie_name'];
方法四:使用$_SERVER超级全局变量

还可以使用$_SERVER超级全局变量中的HTTP_COOKIE索引来检索Cookie值。这个方法适用于在Cookie中包含特殊字符的情况。

// 获取Cookie值
$cookies = explode('; ', $_SERVER['HTTP_COOKIE']);
foreach ($cookies as $cookie) {
    $parts = explode('=', $cookie);
    $cookieName = $parts[0];
    $cookieValue = $parts[1];
    // 在此处编写代码
}

请注意,$_COOKIE的值是在读取请求的开始时设置的,并且在同一请求中不能立即反映其更改。如果您在同一请求中更改了Cookie的值,请使用之前提到的方法之一来重新检索该值。

这些都是在PHP中检索Cookie的常见方法。您可以根据您的需求选择最合适的方法来处理Cookie数据。