断开用户时如何继续执行php脚本?

时间:2016-05-04 00:23:03

标签: php

我希望让用户从表单向页面提交一些信息。但是我想在收到信息后做一些其他的事情,但我不想让用户等待。 有没有办法让用户认为页面已经完成,同时仍然让PHP执行脚本?

1 个答案:

答案 0 :(得分:1)

这当然可行。您可以使用ob_flush()继续会话。 我在这里有一个示例代码段:https://snippetbox.xyz/9eb54a2a1f52dc1f5d38/

从该网址拉出:

这将在脚本处理时断开用户

<?php
 ob_end_clean();
 header("Connection: close");
 ignore_user_abort(); // optional
 ob_start();
 echo ('Text the user will see');
 $size = ob_get_length();
 header("Content-Length: $size");
 ob_end_flush(); // Strange behaviour, will not work
 flush();            // Unless both are called !
 session_write_close(); // Added a line suggested in the comment
 // Do processing here
 sleep(30);
 echo('Text user will never see');
?>