在用户操作上,我通过AJAX调用运行后端系统脚本,该调用在完成之前不会输出。问题是用户可以通过启动脚本然后离开页面轻松地浪费资源。目标是在退出时摆脱一段时间。
首先,我在缓存启动时将其添加到缓存中,并在每次迭代时检查它。这是正常的,因为如果我通过另一个AJAX调用更改文件值,它将退出。
所以我的问题是,当你离开页面时,我怎么能摆脱那个循环呢?
我唯一的猜测是做一个JS onunload AJAX调用来改变缓存文件,但由于显而易见的原因,这是一个很差且非常不可靠的方法。感谢
// //编辑
所以我给了connection_aborted一个ignore_user_abort一个镜头。这是代码的一个非常淡化的版本。
ignore_user_abort(true);
set_time_limit(0);
$handle=opendir($dir);
if($handle)
{
while(false!==($file=readdir($handle))&&!connection_aborted())
{
sleep(1);
unlink($dir."/".$file);
}
}
因此,即使在我离开页面后,文件仍然会从文件夹中删除。我的目标是退出该循环,并在离开页面时停止所有取消链接。
答案 0 :(得分:0)
您可以查看connection_aborted()
答案 1 :(得分:0)
在用户操作上,我通过AJAX运行后端系统脚本 在完成之前不会输出的呼叫。问题是,a 用户可以通过启动脚本然后离开来轻松浪费资源 这页纸。目标是在退出时摆脱一段时间。
你应该看看:
听起来他们可以解决你的问题。