更新 cookie 值而不更改其到期日期?
$c = $_COOKIE["count"];
$c++;
if (isset($_COOKIE["count"])) {
setcookie("count", $c);
}
else
{
setcookie("count", $c, time() + 86400, '/');
}
Run Code Online (Sandbox Code Playgroud)
更新 cookie 值而不更新其过期日期的唯一方法是将过期日期本身添加到值中;这是因为浏览器仅向您发送 cookie 的名称和值。
if (isset($_COOKIE['count'])) {
list($exp, $val) = explode('|', $_COOKIE['count'], 2);
++$val;
} else {
$exp = time() + 86400;
$val = 1;
}
setcookie('count', "$exp|$val", $exp, '/');
Run Code Online (Sandbox Code Playgroud)