Pagina 1 di 1

Chiarimento su ciclo while

Inviato: 12/03/2013, 15:04
da pes
Dato il codice

Codice: Seleziona tutto

<?php

$i = 1;
while ($i <= 10):
    print $i;
    $i++;
endwhile;
?>
viene visualizzata sul browser la scritta
12345678910

Inserendo uno sleep in questa maniera

Codice: Seleziona tutto

<?php

$i = 1;
while ($i <= 10):
    print $i;
    $i++;
    sleep (1);
endwhile;
?>
mi sarei aspettato che sul browser mi comparisse un numero ogni secondo invece succede che dopo 10 secondi mi vengono stampati in un'unica volta i 10 numeri.
Cosa sbaglio nel mio ragionamento?

Re: Chiarimento su ciclo while

Inviato: 17/03/2013, 9:07
da Carlo
Il client (il browser) riceve l'output della pagina PHP al termine della sua esecuzione, e non mentre essa viene eseguita.

Altrimenti, se vuoi fare ciò, dovresti gestire il "buffer".

Info:
http://www.php.net/manual/en/function.ob-start.php
http://php.net/manual/en/function.flush.php