一旦刷新,就会从php脚本中接收数据

时间:2017-08-12 17:06:12

标签: php curl

假设我在远程服务器上运行了这样的php文件:

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

    echo "Step $i of 9<br>";

    sleep(1.0);

    ob_end_flush();
    ob_flush();
}

每秒打印一条像'Step x of 9'的行。 现在假设我想从另一台服务器调用此文件。我正在尝试使用curl,代码如下所示:

function PostData($data)
{
    global $bridgeURL;

    $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $bridgeURL);

        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);

        $result = curl_exec ($ch);

    curl_close ($ch);

    return $result;     
}

效果很好,但一次收到全部输出。 每次远程脚本刷新时都有办法接收数据吗?它不需要卷曲。欢迎任何方法。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

在你的curl文件中包含你的函数文件(让你说的是functions.php)(让我们说curl.php)。然后从循环中调用你的函数。

include 'functions.php;`
for ($i = 0; $i < 10; $i++)
{
    ob_start();

    $post_data = PostData($data); //assume $data is define somewhere else

    echo "Step $i of 9<br>";

    sleep(1.0);

    ob_end_flush();
    ob_flush();
}