在完成php中的任务之前,将状态回显到同一页面

时间:2014-02-07 10:12:00

标签: php

我有一个main.php页面。单击提交按钮后,它将逐个调用另外两个php页面 例如:sub1.phpsub2.php。而这两个php将花费大约5分钟来完成任务。

我想知道的是,当我们点击submit中的main.php按钮后,首先会调用sub1.php。在调用之前,它应回显消息,说明sub1.php已触发main.php,并且在完成sub1.php之后,它应回显sub1.php任务已完成且{{1} }触发。

请注意sub2.php至少需要5分钟才能完成。因此,在sub1.php完成后调用main.php之前,第一条消息将在sub1.php中回显,然后才会显示第二条消息。

请你帮忙解决这个问题。我希望这个要求是明确的。

1 个答案:

答案 0 :(得分:0)

您可以使用PHP buildin output control functions来控制发送的时间和内容。

您可以通过回显它然后刷新输出缓冲区来发送内容

for ($i = 0; $i<10; $i++){

    echo "<br> Line to show.";
    echo str_pad('',4096)."\n";   

    ob_flush();
    flush();
    sleep(2);
}

取自PHP Manual: flush

的示例