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-ID: 89361

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

Ausgedruckt am: 26.11.2024 um 14:11 Uhr

kaiand1
kaiand1 07.06.2008 um 23:48:34 Uhr
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
adis22
adis22 07.06.2008 um 23:58:30 Uhr
Goto Top
Danke für die schnelle Antwort
MFG Adis
EvilMoe
EvilMoe 08.06.2008 um 00:54:48 Uhr
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
filippg
filippg 08.06.2008 um 01:00:38 Uhr
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
adis22
adis22 08.06.2008 um 01:04:02 Uhr
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.