Zwischenausgabe von Daten
martin
- php
Hallo, ich habe ein php-Programm mit einer Schleife, die etwa 1000 mal durchlaufen wird. Das ganze Programm dauert ca. 6 Minuten.
Ich möchte nach jedem Durchlauf eine sofortige (und nicht erst nach Beendigung des Programms) eine Zwischenausgabe der berechneten Daten über PHPCoder erzwingen. Bei Java konnte ich das mit einem Thread machen.
Wie mache ich das bei php?
Vielen Dank, martin.
Holladiewaldfee,
Wie mache ich das bei php?
Theoretisch mit flush() (http://www.php.net/manual/de/function.flush.php)
Das heißt aber erstmal nur, daß PHP dann seinen Ausgabepuffer leert. Was der Webserver dann mit den Daten macht, steht auf einem anderen Blatt.
Ciao,
Harry
Hi,
Theoretisch mit flush() (http://www.php.net/manual/de/function.flush.php)
Das heißt aber erstmal nur, daß PHP dann seinen Ausgabepuffer leert. Was der Webserver dann mit den Daten macht, steht auf einem anderen Blatt.
Oder einer der (vielen) (proxy-)Rechner auf dem Weg zwischen dem Webserver und dem Browser...
cu,
Andreas
Hi, flush() bringt kein Ergebnis, Gruß martin
Holladiewaldfee,
Hi, flush() bringt kein Ergebnis, Gruß martin
Doch, tut es. Du siehst es nur nicht. Weil eben irgendwer die Daten zwischenspeichert, bevor sie bei Dir ankommen. Kann natürlich auch sein, daß Dein Browser erstmal was speichert, bevor er es ausgibt. Stehen die Daten in einer Tabelle? Der IE stellt z.B. die Tabelle nicht dar, bevor sie komplett ist.
Du kannst ja mal versuchen, den Aufruf von flush() mit der Ausgabe von grob 300 (ohne Schmarn) Leerzeichen zu kombinieren. Dann sind evtl. irgendwelche dazwischenliegenden voll und werden geleert. Siehe auch die Doku von flush().
Ciao,
Harry