PHP: Как вывести HTML, когда скрипт еще работает? - PullRequest
3 голосов
/ 11 июля 2011

У меня есть скрипт, который проверяет состояние нескольких сотен веб-страниц.Однако загрузка сценария занимает около 2 минут, и экран остается пустым, пока сценарий не завершится.Затем все данные выводятся одновременно.

Я хочу выводить данные, пока скрипт еще работает.Вот часть моего сценария:

foreach ($urls as $url){

    $headers = get_headers($url,true);
    $status = $headers[0];
    list($protocol, $code, $message) = explode(' ',$status,3);

    echo '<br>'.$url.'<br>'.$code.'<br>';

} 

Ответы [ 2 ]

2 голосов
/ 11 июля 2011

Это обычная функция, которую я использую во многих своих сценариях, чтобы увидеть прогресс.

function flush_buffers() { 
    ob_end_flush(); 
    ob_flush(); 
    flush(); 
    ob_start(); 
}

Я не могу вспомнить исходный источник этой функции, вероятно, из php.netгде-то!

Надеюсь, это поможет!

2 голосов
/ 11 июля 2011

http://php.net/manual/en/function.flush.php содержит ответ, который вы ищете.

Имейте в виду, что это может негативно отразиться на вашей производительности, но, похоже, вам больше интересно наблюдать за ее прогрессом. : -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...