Codeigniter ob_flush () работает только в контроллере - PullRequest
0 голосов
/ 14 сентября 2018

Мой код ob_flush работает только внутри моего контроллера.

Это мой код:
test_controller1.php

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

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

Использование приведенного выше кода работает нормально. Он выводит результат, пока скрипт еще работает. Это мой предполагаемый вывод.

Однако я хочу поместить этот код в мое представление.

Пример контроллера:
test_controller2.php

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

Пример представления:
test_view.php

<code>$result = popen($var , 'r'); 
    $start = false;
    while($line = fgets($result, 2048))
    {
        echo "<pre>".$line."
";ob_flush (); заподлицо ();} pclose ($ var);

Использование приведенного выше кода работает, но он будет ждать завершения сценария, прежде чем показывать результаты.

В целом, я хочу вывести результаты, пока сценарий еще работаетиспользование контроллера с представлением (test_controller2.php)

...