检查Laravel cookie上的剩余秒数?

时间:2018-02-01 04:25:16

标签: php laravel

有人可以告诉我如何查看我在Laravel上设置的Cookie剩余时间吗?文档没有显示如何执行此操作。我想坚持使用Laravel的cookie类。

1 个答案:

答案 0 :(得分:0)

这很难实现,但cookie的到期日期可以在另一个cookie中设置。然后可以稍后阅读此cookie以获取到期日期。也许有更好的方法,但这是解决问题的方法之一。

  

微软说:“浏览器负责管理cookie,以及   cookie的到期时间和日期有助于浏览器管理它   饼干的存储。因此,虽然您可以读取名称和值   一个cookie,你无法读取cookie的到期日期和时间。   当浏览器将cookie信息发送到服务器时,浏览器   不包括到期信息。“

Helper linkHelper link 2

在laravel cookie创建时添加额外的cookie,如下所示: 将编码的json放入cookie中以从cookie中获取正确格式化的数据。 试试这个:

$expiry = time() + 12345;
$data = (object) array( "value1" => "data 1", "value2" => "data 2" );
$cookieData = (object) array( "data" => $data, "expiry" => $expiry );
setcookie( "cookiename", json_encode( $cookieData ), $expiry );

然后当你下次拿到你的cookie时:

$cookie = json_decode( $_COOKIE[ "cookiename" ] );

您可以简单地提取到期时间,该时间作为数据插入到cookie本身内。

$expiry = $cookie->expiry;

以及将作为可用对象出现的数据:)

$data = $cookie->data;
$value1 = $cookie->data->value1;

使用Cookie的方式比较简洁,因为您可以根据需要在其他对象中嵌入尽可能多的小对象!

感谢@Braikar& @Thariama有关于这个主题的研究。