返回值到浏览器但仍在PHP中处理

时间:2010-01-31 08:10:00

标签: php process request

我使用flash来调用需要进行一些处理的PHP页面。是否有可能让PHP继续处理但无论如何都显示响应,因此闪存不会停止等待?

4 个答案:

答案 0 :(得分:1)

我的答案来自here

  

您可以发送连接:关闭标头,   为您的用户完成页面,   但是可以让你执行一些事情   “页面加载后”。

     

有一种忽略用户的简单方法   中止(也见php manual):

ignore_user_abort(true);

答案 1 :(得分:0)

使用输出控制aka输出缓冲来执行此操作。 http://www.php.net/manual/en/function.ob-flush.php

答案 2 :(得分:0)

您可以尝试使用flush()

举个例子,试试这两个不同的代码:

// without flush()
foreach ( range(1, 5) as $num ) {
    echo "Beep $num<br>";
    sleep(1);
}

// with flush()
foreach ( range(1, 5) as $num ) {
    echo "Beep $num<br>";
    flush();
    sleep(1);
}

答案 3 :(得分:0)

如果您不需要等待处理结束输出内容(例如,如果您不需要输出与您希望的处理结果相关的任何内容),您可以在register_shutdown_function内的已注册函数内关闭连接做)。

请参阅:http://www.php.net/manual/en/features.connection-handling.php#93441

将其置于register_shutdown_function中的原因是即使客户端中止连接,处理也将继续进行到最后。

相关问题