este es un truco...
a mi me sirvió cuando cargaba una base datos linea por linea...
Código PHP:
<?php
// cadenas
$htm = <<<HTML
Cargando... %d%
HTML;
// javascript
$js = <<<JS
<script type="text/javascript"><!--
document.body.innerHTML = '';
--></script>
JS;
// el proceso no debe ser un ciclo...
// pero si lo es, mucho mejor!
$c = 256;
for ($i = 0; $i < $c; ++$i)
{
// porcentaje
$inc = round($i / $c * 100);
if ($inc !== $new)
{
// viejo valor...
$new = $inc;
// reemplazamos, no usamos sprintf por el %d%
$str = str_replace('%d', $inc, str_replace("'", '', $htm));
// bingo!
echo $js . $str;
// sleep es no es necesario...
// ya que este es el tiempo real de la demora
sleep(1);
flush();
}
}
espero te sirva, suerte!