PHP Portal » PHP Forum » Entwicklung » Webprogrammierung mit PHP, Perl, usw. » flush() will nicht?

flush() will nicht? 

von
Neuling
Zitat
Hallo,

ich habe ein Skript was etwas länger läuft.
Nun habe ich mir gedacht, ich gebe für den Nutzer Zwischenmeldungen aus,
damit dieser den Fortschritt sehen kann.

PHP Code
1
2
3
4
5
6
7
8
9
10
11
// snipp $i = 0; while( $row = $db->fetch() ) { // viel Code ++$i; if( ! $i%1000 ) { echo $i.' geschafft<br />'; flush(); } } // snipp

leider klappt das so nicht, erst kommt eine ganze Weile nichts,
dann kommen die Ausgaben 1000-6000 auf einmal, dann wieder eine Weile nicht,
dann wieder mehrere Ausgaben auf einmal ... etc.

Woran liegt das, und wie kann man das ändern?

Werbung

Re: flush() will nicht? 

von
the Boss
Zitat
kann man nicht wirklich ändern,
da z.B. der Apache die Daten erst sendet, wenn eine bestimmte Menge vorhanden ist.
Daran ändert auch flush() nichts.

Schnellantwort