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