ob_start () печатает выходные данные без завершения ob_get_flush () - PullRequest
1 голос
/ 12 ноября 2011

Есть ли что-то, что я делаю неправильно в следующем коде.

Ob_start должен буферизовать вывод правильно, и он не должен печатать его перед сбросом.Но он делает это

<?php
echo "Hello World!";
ob_start();
for ($i=0; $i < 100; $i++ ){
    echo "I am fine </br>";
}
?>

Я получаю вывод «У меня все хорошо»

Ответы [ 2 ]

4 голосов
/ 12 ноября 2011

Он сбрасывается, когда скрипт заканчивается, поэтому, конечно, вы все равно получите вывод, он просто не будет отправлен, пока скрипт еще работает.

3 голосов
/ 12 ноября 2011

Вы должны что-то сделать с буфером в конце вашего скрипта.

например. получите содержимое с помощью ob_get_contents() и очистите его с помощью ob_end_clean(), в противном случае оно будет сброшено в конце.

...