我可能在这里遗漏了一些东西,但我对一个设置了一些会话变量的php脚本进行了ajax调用.ajax调用同时访问脚本页面,因为它发送文件一次一个地上传到同一个脚本(Kartik输入)
在指定数量的调用之后,我检查指定键上是否有array_key_exists,然后取消会话中的值。
但是,即使会话值应该是UNSET,array_key_exists条件仍会继续运行!现在我搜索了这个地方,找到了未设置键的特定实例和未设置的值,没有一个能给我一个答案。是否有可能来自ajax的并发请求比PHP更快地命中脚本这些变量?
这是代码: 在我取消设置之后,我在结果上看到了会话值。他们都还在那儿,活着还好......我在这里失踪了什么?我不想破坏会话,因为这会记录我的用户...所以我必须使用unset。
if(array_key_exists('msg_file_count', $_SESSION) && array_key_exists('msg_insert_count', $_SESSION))
{
if($_SESSION['msg_file_count'] == $_SESSION['msg_insert_count'])
{
// Unset the session vars
unset($_SESSION['msg_rowid']);
unset($_SESSION['msg_insert_count']);
unset($_SESSION['msg_filenames']);
unset($_SESSION['msg_file_count']);
}
$result = array('in'=>'msg_file_count', 'session'=> $_SESSION);
die(json_encode($result));
}
谢谢你!