adis22
Goto Top

sleep() Funktion Probleme

Hallo , Habe die sleep funktion in einer wihle Schleife verbastelt;
while(true)
{
sleep(5);
echo 'hallo';  
}
Nu dachte ich alle füng Sekunden würde hallo ausgegeben, nur es tut sich nichts:
Habe ea auch mit for und do while, oder so versucht.
$i=0;
while($i<10)
{
sleep(5);
echo 'hallo';  
}
Das geht nicht, Warum, hat da einer ne Idee wie ich ein ständigen Zyklus durchlaufen kann. Dann mal danke im voraus für eure Hilfe.

Content-Key: 89361

Url: https://administrator.de/contentid/89361

Printed on: April 19, 2024 at 11:04 o'clock

Member: kaiand1
kaiand1 Jun 07, 2008 at 21:48:34 (UTC)
Goto Top
Nun da fehlt noch bissel was....
und probier mal php error aus das zeigt dir fehler an
und auf der Seite
http://phpbox.de/php_befehle/while.php
hast du Beispiele wie die Funktionieren
Member: adis22
adis22 Jun 07, 2008 at 21:58:30 (UTC)
Goto Top
Danke für die schnelle Antwort
MFG Adis
Member: EvilMoe
EvilMoe Jun 07, 2008 at 22:54:48 (UTC)
Goto Top
Das Problem liegt daran das du eine Endlosschleif produziert hast!
Du hast vergessen den Zähler also "$i" zu erhöhen ($i++).


Aufbau von Schleifen findest du z.B. hier: http://www.infos24.de/phpe/handbuch/13_php_schleifen.htm
Member: filippg
filippg Jun 07, 2008 at 23:00:38 (UTC)
Goto Top
Hallo,

ganz großartig, dass du nicht geschrieben hast, was nicht geht.
Problem dürfte aber sein, dass du das Prinzip von HTML nicht verstanden hast. Die Schleife wird auf dem Server ausgeführt. Standardmässig wird dann das Ergebnis am Ende des Skripts an den Browser gesendet, und der zeigt es an. Da nie zuende ist, wird das Ergebnis nie gesendet oder erst, wenn der Puffer voll ist.
Aber selbst wenn die Schleife nur z.B. 10mal ausgeführt wird, dann wird im Browser 50 sek (ist die Angabe nicht in ms?) nicht passieren, danach gleichezeitg 10mal hallo erscheinen.

Abhilfe: man kann PHP dazu bringen, alle bisher erzeugten Ausgaben an den Browser zu senden. Der Befehl könnte flush() heißen, such mal danach.
Alternative: JavaScript verwenden, das wird im Browser ausgeführt.

Gruß

Filipp
Member: adis22
adis22 Jun 07, 2008 at 23:04:02 (UTC)
Goto Top
Nein, so balt sleep() in der schleife ist tut sich nicht, ich habe Beispiele im Netz gefunden, warum geht es blos nicht bei mir, oooo man.

vielleicht noch ne Idee.