【发布时间】:2011-09-06 14:35:46
【问题描述】:
我正在构建一个网络应用程序,用户可以上传某些文件并通过网络应用程序界面处理它们。我需要在用户会话期间存储这些文件。我正在为每个用户创建一个文件夹,使用 session_id 作为文件夹名称并将文件存储在其中。
问题:没有任何迹象表明用户离开了我的站点并且会话即将停止使用。我需要一个清理脚本来获取每个文件夹的名称并检查 session_id 是否仍然处于活动状态,以便删除未使用且现在无法访问的文件夹。我该怎么做?
【问题讨论】:
-
“正在使用”是一个艰难的...“过期”会更容易测试。如果您正在寻找过期会话,这个线程有一个非常完整的答案:stackoverflow.com/questions/520237/…
-
@ecchymose “过期”是我的意思。 “未使用”和“已过期”有区别吗?无论如何,我会检查那个链接。
-
我所说的“未使用”的意思是,您无法真正知道用户是否离开了计算机,正在与他的朋友交谈,或者只是被alt-tab...您只能知道一个会话“已死”或已过期(您可以设置限制),但您无法知道用户是离开计算机 5 分钟还是 5 天。对我来说,这取决于你想做的事情有很大的不同;-)
-
@ecchymose 您提供的链接正在讨论一个完全不同的问题。我想获取一个我知道在某个时候使用过的 session_id 并检查 PHP 是否仍然认为 session_id 处于活动状态(=未过期)。我将为一堆 session_id 执行此操作,而不是在会话中。
-
哦!但是你必须做几乎相同的事情,但在会话之外。将“sess_id/expire date”对存储在某个数据库或 txt 平面文件中(最坏情况)...