PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   flush()? (https://www.php-resource.de/forum/php-developer-forum/12473-flush.html)

Berni 23-10-2002 22:57

flush()?
 
Hi,

ich möchte mir ein Select * from bal zeilenweise ausgeben lassen

Leider wartet der Browser bis eine bestimmte Datenmenge zusammen gekommen ist, bevor die Daten gerendert werden.

Wie kann ich mit flush() (?) den Ausgabebuffer früher ausgeben,
also bereits das erste Zeichen anzeigen lassen?

Gruß
berni

TBT 23-10-2002 23:13

geht nur, wenn der Webserver es mitmacht.
Der Windows Apche macht es glaube ich nicht :(

Berni 23-10-2002 23:16

ich hab Linux laufen, gibt es dafür eine Einstellung in der .conf?

TBT 23-10-2002 23:22

schau mal bei apache.org, ich denke ich hatte dort as drüber gelesen

Berni 23-10-2002 23:24

ok thanks,
gleich mal schauen...

Campus 23-10-2002 23:28

hmm,

ich glaub dann muss man erstmal an die 300 zeichen senden.

PHP-Code:

echo  str_repeat(300" ") . "\n"


Berni 23-10-2002 23:32

hab ich bereits gemacht.
Wenn dann 256 bytes gesendet wurden wartet der browser wieder bis eine bestimmte Anzahl bytes vorliegen :(

thanks
berni

TobiaZ 24-10-2002 13:19

Ich hab flush() bei meinem Newsletter Versand. Wenn ich testweise verfolgen will, wie er versendet. Und da mail() ja nicht immer das schnellste ist, habe ich mir gedacht, wenn ich mir ein echo + flush() nach jedem mail() einbaue versendet zeigt er mir in realtime an, was er macht. Und siehe da, es klappt.

Das ganze ist ja nichts anderes als ein Auflisten der Empfängerdatensätze (halt nur mit zusätzlicher "Verzögerung" in Form von mail())

Also in der While schleife machst du nach dem Echo nur flush() und das sollte es eigentlich sein.

Berni 24-10-2002 13:21

das mache ich auch, leider zeigt er mir nicht jede zeile an :(

delpino 24-10-2002 13:26

noch einfacher ists mit ob_implicit_flush() dann braucht man nicht jedesmal flushen ist quasi automatisch, einfach an den anfang des scripts setzten, falls das nicht hilf versuche es mit einer anderen extension z.B. phpx und tue folgendes in .htaccess:

AddType application/x-httpd-php phpx

ausserdem kannst du nicht ob_start ("ob_gzhandler"); verwenden..

TobiaZ 24-10-2002 13:26

In der phpInfo steht glaube ich auch nichts darüber drin, oder?

Ich denke eigentlich, wenns bei solchen Funktionen irgendwelche Einschränkunegn gibt, steht das als Anmerkung im Manual.

Hmm, no idea :dontknow:

Berni 24-10-2002 13:29

delpino,

gleich mal versuchen....

delpino 24-10-2002 14:12

und gehts? :)

Berni 25-10-2002 02:39

leider auch nicht :(

swimming 30-09-2003 11:50

@TobiaZ: Genau das habe ich auch vor. Bei mir sieht das ganze in der while-Schleife so aus:
PHP-Code:

mail($to$subject$message$header);
echo 
"Newsletter versendet an: ".$to;
flush(); 

Und trotzdem kommt keinerlei Ausgabe auf dem Bildschirm. Ich habe auch schon einmal probiert, mir aus Spaß 500 Newsletter zu senden, um zu sehen, ob er eine Ausgabe produziert. Fehlgeschlagen.

Könnt ihr mir sagen, wo der Fehler ist.

Tschüssi Steffen


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:25 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG