Codeigniter ob_flush()仅在Controller中有效

时间:2018-09-14 04:18:49

标签: php codeigniter popen

我的代码 ob_flush 仅在我的控制器内起作用。

这是我的代码:
test_controller1.php

public function test()
    {
        $var    = "/bin/test";

        $result = popen($var , 'r'); 
            $start = false;
            while($line = fgets($result, 2048))
            {
                echo "<pre>".$line."</pre>";
                ob_flush();flush(); 
            } 
        pclose($var);

    }
}

使用上面的代码可以正常工作。当脚本仍在运行时,它将输出结果。这是我预期的输出。

但是,我想要的是将此代码放入视图中。

示例控制器:
test_controller2.php

public function test()
    {
            $data['var']    = "/bin/test";
            $this->load->view('test_view', $data);
    }
}

示例视图:
test_view.php

$result = popen($var , 'r'); 
    $start = false;
    while($line = fgets($result, 2048))
    {
        echo "<pre>".$line."</pre>";
        ob_flush();flush(); 
    } 
pclose($var);

使用上面的代码是可行的,但是在显示结果之前,它将等待脚本完成。

总而言之,我想在脚本仍在运行时使用带有视图(test_controller2.php)的控制器来输出结果

0 个答案:

没有答案