如何在 PHP 中获取 Cookie 时间250


Cookie 是存储在用户浏览器中的小文本文件,用于在会话之间保留特定信息。在 PHP 中,您可以使用 $_COOKIE 超全局数组来访问和获取 cookie。此数组包含所有可用 cookie 的名称和值。然而,cookie 并不始终具有到期时间。

如果 cookie 不具有到期时间,则该 cookie 将在浏览器关闭时被删除。您可以使用 isset() 函数检查 cookie 是否存在,如下所示:```php
if (isset($_COOKIE['name'])) {
// cookie 存在
} else {
// cookie 不存在
}
```

如果 cookie 具有到期时间,那么它将存储在 expires 属性中。您可以使用 time() 函数获取当前时间戳并将其与 cookie 的 expires 属性进行比较,如下所示:```php
if (time() < $_COOKIE['name']['expires']) {
// cookie 尚未过期
} else {
// cookie 已过期
}
```

另一个获取 cookie 到期时间的方法是使用 DateTime 对象。您可以将 cookie 的 expires 属性转换为 DateTime 对象,如下所示:```php
$expires = DateTime::createFromFormat('U', $_COOKIE['name']['expires']);
```

然后,您可以使用 format() 方法以所需格式获取到期时间:```php
$expires->format('Y-m-d H:i:s');
```

除了使用 $_COOKIE 超全局数组之外,您还可以使用 setcookie() 函数设置 cookie,如下所示:```php
setcookie('name', 'value', time() + 3600); // cookie 将在 1 小时后过期
```

或```php
setcookie('name', 'value', 0, '/', ''); // cookie 将在浏览器关闭时过期
```

以下是有关 PHP 中 cookie 时间的一些附加信息:
cookie 的最大到期时间为 2038 年 1 月 19 日 03:14:07 UTC。
如果您不设置到期时间,cookie 将在浏览器关闭时过期。
您可以使用 setcookie() 函数的 expires 参数设置到期时间。
您可以使用 time() 函数获取当前时间戳。

2024-11-01


上一篇:PHP 中的全局数组:全面指南

下一篇:PHP 数组过滤:巧用函数精粹数据,提升代码效率