PHP循环 - 显示每一步

时间:2016-11-01 14:22:28

标签: php

我希望你能帮助我。

我有一个非常简单的问题: - )

$i = 1;
while ($i < 5)
{
    echo $i . '<br />';
    sleep(1);

    $i++;
}

当我运行此代码时,它会等待几秒钟,然后一起显示回显。 如何让它显示1,然后等待一秒然后再等待2,等等而不是在循环结束时立即显示?

你能帮忙举个例子吗?

感谢您的帮助

亲切的问候

1 个答案:

答案 0 :(得分:0)

首先,我们必须了解网络应用的生命周期是如何运作的:

  1. 网络服务器获取请求
  2. PHP执行您调用的脚本
  3. 生成响应的正文和标题
  4. Webserver将响应返回给客户端
  5. 如您所见,只有一个请求和一个响应。在完成整个响应之前,不应逐步接收响应并开始渲染。

    不幸的是,没有简单的方法可靠地实现这一目标。解决问题的最佳方法是设置实时通信层。您可能听说过“websockets”。

    1. 在服务器上设置websocket-server
    2. 现在,您可以从PHP连接到它并开始将消息传递到管道
    3. 在您的javascript中设置websocket-client并连接到您的 套接字服务器管道
    4. 每次socket-client收到消息时,都会触发一个事件 DOM转换客户端吗?
    5. 你也可以使用 Pusher 或类似的东西。这样您就不必担心设置自己的websocket-server。但您可以使用他们的平台和他们的客户端库。

      希望它有所帮助。