PHP вывести вывод в браузер

Я работаю над проектом PHP, и я использую flush() .

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

Я хочу знать размер этих данных, я имею в виду, сколько байтов для вывода должно быть для PHP, чтобы отправить их в браузер.

Это не только PHP, который разбивает данные; на самом деле это задача Apache (или Tomcat и т. д.). Вот почему по умолчанию отключить «chunking» в PHP и оставить его в Apache. Даже если вы вынуждаете флеш от PHP, он все равно может попасть в ловушку от Apache. Из руководства:

flush () не сможет переопределить схему буферизации вашего веб-сервера и не влияет на буферизацию на стороне клиента в браузере. Он также не влияет на механизм буферизации вывода пользовательского пространства PHP. Это означает, что вам придется вызывать оба ob_flush () и flush (), чтобы очистить выходные выходные буферы, если вы их используете.

Существует статья Википедии о кодировании / разделении передачи: http://en.wikipedia.org/wiki/Chunked_transfer_encoding

Apache усложняется с GZIP или дефляцией кодирования; вам нужно нажать на сервер Apache, чтобы настроить его.

я думаю, вы ошибаетесь, смотрите этот код

 echo str_repeat(' ',1024); for($i=0;$i<10;$i++){ echo $i; flush(); sleep(1); 

если вы запустите его, увидите, что каждый 1 байт отправляется в браузер и печатает // str_repeat для буфера браузера для отображения данных и ничего другого