2013-06-06 4 views
-1
<?php 
ini_set('output_buffering','0'); 
echo 'Begin ...<br />'; 
for($i = 0 ; $i < 10 ; $i++) 
{ 
    echo $i . '<br />'; 
    flush(); 
    ob_flush(); 
    sleep(1); 
} 
echo 'End ...<br />'; 
?> 

В коде выше я пытаюсь установить output_buffering в выключенном, но он не работает.output_buffering от во время выполнения в PHP

Выход эхом повторяется в конце выполнения сценария.

+0

Попробуйте ob_start(); в верхней части страницы –

+0

Все еще не работает – chicharito

ответ

0

Вместо использования ob_flush, просто использовать ob_end_flush в начале вашего скрипта для удаления буфера вывода.

Кроме того, объявить кодировку вашей страницы, так что браузер может показать свой выход сразу, без необходимости смотреть на сотнях входных байт первый:

header('Content-Type: text/html; charset=utf-8'); 

Если ваш сценарий все еще не работает, веб-сервер Apache, и вы можете создать .htaccess файл, попробуйте сделать это со следующим содержанием:

php_flag zlib.output_compression Off 

к слову, ini_set бесполезно, и вы должны также включать html, head, и body элементов. По крайней мере для Firefox, включая эти элементы, также решает проблему:

echo '<!DOCTYPE html><html><head><title>test</title></head><body>'; 
// ... 
echo '</body></html>'; 
+0

нет, все еще не работает :-( – chicharito

Смежные вопросы