【问题标题】:Codeigniter - How to get remaining expiration time of a session tempdata?Codeigniter - 如何获取会话临时数据的剩余到期时间?
【发布时间】:2018-01-09 03:00:00
【问题描述】:

我想获取之前设置的会话临时数据过期时间的剩余时间。反正我能得到它吗?

Edit - 我说的是 Codeigniter 框架中的 Session 库中名为 mark_as_temp() 的方法。

CodeIgniter 还支持“临时数据”,即具有特定属性的会话数据 到期时间。值过期后,或者会话过期或者是 删除,值会被自动删除。

使用此功能,您可以将现有会话变量标记为在先前设置的时间到期。时间到期后,只会从$_SESSION 数组中删除该特定会话变量。

$_SESSION['item'] = 'value';
$this->session->mark_as_temp('item', 300); // Expire in 5 minutes

我想要的只是获得该临时会话变量到期之前的剩余时间 - 即在页面刷新/重定向之后。

【问题讨论】:

标签: php session session-variables codeigniter-3


【解决方案1】:

没有一个答案真正回答了这个问题。

为什么?

如果 codeigniter 已经存储了它并且问题指出“...如何...从 codeigniter”,您为什么要存储自己的会话时间到期。

如何

我发现 CI$_SESSION 数据存储在 <__ci_vars> 键中。示例:

$this->session->set_tempdata("mykey", "something", 500);   

echo $_SESSION[__ci_vars]["mykey"] // the second key is the name of the tempdata;

//I tried with $this->session ... didn't work for me.

我认为它存储了纪元时间(时间戳),之后临时数据将被删除。

警告

如果 CI 更新......好吧,你知道的。

【讨论】:

    猜你喜欢
    • 2016-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 2013-01-20
    • 2017-11-29
    • 1970-01-01
    相关资源
    最近更新 更多