Archívum - Feb 17, 2016 - Fórum téma
ob_flush() flush() nem működik
Sziasztok!
Olyan gondom van, hogy nagy mennyiségű adatot kell feldolgozni php-vel, amit nyomon szeretnék követni. A flush(), ob_flush() tűnt megoldásnak, de valamiért nem csinál semmit... Próbálgattam a php.net/manual-ban lévő példákat, de csak utána iródnak ki a kimeneti adatok, ha a teljes script lefutott.
Ezt a példaprogramot használtam:Egyébként ahogy én akarom majd használni (a kód részletet ajaxal töltöm, be divbe, hogy ne az egész oldalt kelljen frissíteni):A rendszer: windows 10 64bit; Apache 2.4.18 64bit; PHP 7.0.3 64bit
■ Olyan gondom van, hogy nagy mennyiségű adatot kell feldolgozni php-vel, amit nyomon szeretnék követni. A flush(), ob_flush() tűnt megoldásnak, de valamiért nem csinál semmit... Próbálgattam a php.net/manual-ban lévő példákat, de csak utána iródnak ki a kimeneti adatok, ha a teljes script lefutott.
Ezt a példaprogramot használtam:
<?php
ob_start();
echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ )
{
echo .$i . '<br />';
ob_flush();
flush();
sleep(1);
}
echo 'End ...<br />';
?>
<div id='progress' class='graph'>
<div id='barr' style='width:0%'><p id='progressText'>0% kész</p></div>
</div>
<?php
ob_start();
while(...) {
...
echo "
<script language='javascript'>
$('#bar').css('width','{$percent}%');
$('#progressText').html('".$percent."%');
</script>";
flush();
ob_flush();
...
}
?>