hi,
die Kombination von flush und ob_flush hat auch nichts genutzt.
Es wird mir nichts anderes übrig bleiben als mir irgendeine Art von Progressbar einfallen zu lassen - blöd.
Komisch ist nur, dass ich vorher eine kurze Meldung ausgebe. Die erscheint sofort und dann beginnt die Schleife zu laufen. Dann beginnt das eigentliche Problem. Der Client ist tot, kein blauer Balken unten in der Leiste oder sowas, was drauf hinweisen würden, dass das Programm noch ausgeführt wird. Also man glaubt, dass die Seite schon fertig geladen ist. Und erst nach 5 Minuten erscheint der ganze Content.
jepetko
Hi,
Kann mir jemand ein Paar Tips geben, wie ich laufend eine Ausgabe an Clients schicken kann, obwohl das Script noch rechnet?
Das flush() nicht wie gewünscht arbeitet kann verschiedene Ursachen haben. Manche Webserver puffern trotzdem, manche Apache-Module steuern die Pufferung selbst, manche Browser haben ihre Eigenarten, erwarten z.B. mindestens 256 Byte, bevor sie etwas ausgeben, u.v.m...
Auf meinem System (Apache2 auf Win2000) passiert bei Aufruf von flush() oder ob_flush() übrigens auch nichts - aber die Kombination von beiden arbeitet wie gewünscht, also z.B.:
<?php
$i = 10;
while ($i > 0)
{
echo $i--;
flush();
ob_flush();
sleep(1);
}?>
Falls das nicht hilft, auf welchem System arbeitest du denn?
Gruß,
Andreas.