Php 是否在销毁会话数据之前保存会话数据?
是否可以在销毁会话数据之前将其保存到数据库中 例如,我有下面一个会话的数据Php 是否在销毁会话数据之前保存会话数据?,php,session,session-variables,php-5.3,Php,Session,Session Variables,Php 5.3,是否可以在销毁会话数据之前将其保存到数据库中 例如,我有下面一个会话的数据 // start session session_start(); // init session var if (!isset($_SESSION['images'])) $_SESSION['images'] = array(); array 0 => array 'image_id' => int 1 'image_title' => string 'te
// start session
session_start();
// init session var
if (!isset($_SESSION['images'])) $_SESSION['images'] = array();
array
0 =>
array
'image_id' => int 1
'image_title' => string 'test 1' (length=6)
1 =>
array
'image_id' => int 2
'image_title' => string 'test 2' (length=6)
我想在会话被破坏或浏览器关闭时将其发送到数据库
if(unset($_SESSION['images']))
{
// do something?
}
可行吗?您可以手动管理会话,设置用户级会话存储功能。然后,您可以通过处理会话关闭
这是一个有趣的功能测试:看看客户会话处理程序,您应该想到
会话启动()
在浏览器上创建一个cookie时,使用与服务器上会话文件匹配的哈希值,服务器将在您的“会话”处于活动状态时将任何数据放入$\u会话,一旦您关闭浏览器,cookie将从浏览器中丢弃,并最终(由cron调用的清理)会话文件将从服务器中删除
如果要存储某个时间段或用户的持久数据,则应将其存储在数据库、缓存文件、memcache等中
if(unset($_SESSION['images']))
{
// do something?
}
这不符合您的预期(在变量未设置时执行)。相反,它将成功地取消设置会话变量并执行//do something
部分