WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » flush(); » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

flush();
von Marcus
Java ist doch wohl keine Alternative, siehst doch an der Kunstseite die ohne Java net geht
von michaelh
Alternativen? Java!
Beim IE6 gehts glaub ich nicht.
von Marcus
stimmt ja auch, da fehlt das flush(); vor $i++;. Aber wenn das browserabhängig ist ist das schlecht. Wie variiert das denn? Gibts Alternativen?
von michaelh
Das ist aber was anderes.
ob_implicit_flush -- Schaltet die implizite Ausgabe ein bzw. aus
flush -- Der Ausgabe-Puffer wird geleert und alle Zeichen ausgegeben
von Marcus
Nu gehts plötzlich, weis der Geier warum. Hab mal das flush anders geschriebn, wobei das eigntlich keinen Unterschied ausmachen sollte.

1: 
2: 
3: 
4: 
5: 
6: 
7:
<?php
ob_implicit_flush();
while($i<=100){
	  echo "<img src="$i.png">";
      $i++;
}
?>
von michaelh
Les grad, dass das vom Browser abhängig ist.
von Marcus
Nö, hab snoch mit while und do while ausprobiert, geht net
von michaelh
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10:
<?php
$i = 0;
while($i < 10)
{
   sleep(1);
echo "<img src="i.png">";
   flush(); 
   $i++;
}
?>


Versuchs mal mit ner anderen Schleife.
von Marcus
Fehler kommt keiner. Es dauert halt 100 sekunden, dann kommt der komplette Balken. Es sollte aber so sein, das alle 1 sekunde der balken um eins erhöht wird.
von michaelh
Was kommt als Fehler? Was wird angezeigt?
von Marcus
Ne, ich habs mal soweit gehabt das er nach und nach alles angezeigt hat, so wies sein soll.

http://de3.php.net/flush
von michaelh
Der wird aber immer nur 100% anzeigen.
von Marcus
ne, wie gesagt, die Bilddatei heißt i.png. Ist vielleicht blöd gewählt. Das ganze soll eine Fortschrittsanzeige werden, wie bspw. bei einer Installation. Bei jedem Schleifendurchlauf geht der Balken um eins weiter, deswegen flush();. Ansonsten würd er ja das Skript durcharbeiten und dann auf einmal alles ausgeben und nicht nach und nach
von michaelh
Du willst doch 1.png 2.png 3.png ausgeben? Oder soll das was anderes werden?
von Marcus
Warum $i.png? i.png ist doch die Bilddatei. Ok, blöder Name vielleicht. Aber daran hängts nicht.
von michaelh
1: 
2: 
3: 
4: 
5: 
6: 
7:
<?php
for ($i=1; $i<=100; $i++) {
echo "<img src="[b][u]$[/u][/b]i.png">";
flush();
sleep(1);
}
?>

Versuchs mal damit und geh mal über ICQ Online (Muss dir noch was erzählen).
von Marcus
Warum funktioniert denn folgendes nicht?

1: 
2: 
3: 
4: 
5: 
6: 
7:
<?php
  for ($i=1; $i<=100; $i++) {
	  echo "<img src="i.png">";
	  flush();
      sleep(1);
}
?>


Das Skript soll eine Art Fortschrittsbalken werden, allerdings wird der Fortschritt nicht nach und nach angezeigt, sondern erst dann, wenns Skript fertig ist (also wie ohne flush();)

Nach oben