1
1
简短回答: 这是不可能的,因为会话结束时不会执行php代码 长答案: 首先,您需要了解会话如何工作,会话何时实际结束? 当用户关闭浏览器时,php会话未关闭,当用户注销时,php对话未关闭。 PHP会话基本上是用户第一次打开站点时生成的文件名。此文件名作为cookie存储在用户的浏览器中。对于每个请求,浏览器发送此cookie,当您在代码中调用session_start时,将从http请求中读取此cookie,并打开具有此名称的文件并将其加载到内存中。(注意:会话可以存储在memcache、数据库等中) 下一步-您可以调用session_delete,它只删除文件(db记录等)。所以,下次浏览器使用旧cookie调用我们时,我们将什么都不读,即会话为空。 会话可以自动过期,这是由php内部完成的(我想是由内部线程或其他机制完成的),要做到这一点,php存储每个会话的最后访问(读取)时间,并且当某个会话文件在一段时间内未被触摸时(可配置参数)-该文件被删除。 Php此时不会调用您的代码 因此,当php结束会话时,不可能删除某些内容。 因此,要解决您的问题,您可以:
|
2
0
您可以使用unlink函数在PHP中简单地检测文件,
确保已授予php所需的权限,
|
3
0
如果用户确实注销,只需在执行注销操作后删除文件即可。 或者您可以运行一个小脚本来检查会话是否有效(您可以记录一个标志来检查用户是否正在进行中),然后删除关联的文件。 |
4
0
您可以编写自定义会话处理程序,并通过
|
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |