Meldungen während der Verarbeitung ausgeben

P

P_F

Hi,

wie ist es möglich während der Verarbeitung eines Skriptes Meldungen z.B. per echo auszugeben.

Ich möchte bei einem Skript, dass alle Bilder in einem Ordner vekleinert nach jeder Verkleinerung Ausgeben: "Bild x verkleinert."
 
Dennis Wronka hat gesagt.:
Das Script sollte eigentlich von 0 bis 9 hochzaehlen und eben jede Zahl mit einer Sekunde Verzoegerung ausgeben.

Hallo,
da war ein ; zu viel so sollte es funktionieren.
PHP:
 for ($x=0;$x<10;$x++)
{ 
echo $x.'<br>'; 
flush(); 
sleep(1); 
}

mfg
forsterm
 
Also so bekomme ich nach ein paar sekunden warten
0
1
...
9 ausgegeben.

Ist es nicht möglich nach jeder sekunde eine meldung auszugeben.
 
Es ist schon möglich aber diese Feature ist etwas Problematisch.
Du kannst noch versuchen einen entsprechenden Header zu senden und die anderen Varianten z.B.: ob_flush(); probieren.
Und vorher ob_start(); verwenden da bei die PHP wahrscheinlich nicht für diese Art der Ausgabe kofiguriert ist.

Meist liegt das Problem eigentlich nicht bei PHP sondern bei den Browsern die diese Art des Sendens nicht versteht.

Das Skript sollte funktionieren, ich habe den Ausgabe Puffer gefüllt, das sollte auch bei dir funktionieren. Anderen falls probiere die anderen Vorschläge.

PHP:
<?php
if (ob_get_level() == 0) ob_start();
for ($i = 0; $i<10; $i++)
{
	echo $i.'<br>';
	echo str_pad('',4096)."\n"; //Puffer füllen (Zeile bei dir hinzufügen und nicht veränderen)  
	ob_flush();
	sleep(1);
}
echo 'Fertig';
ob_end_flush();
?>
 
Zuletzt bearbeitet:
Zurück