sleep() Funktion Probleme
Hallo , Habe die sleep funktion in einer wihle Schleife verbastelt;
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.
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.
while(true)
{
sleep(5);
echo 'hallo';
}
Habe ea auch mit for und do while, oder so versucht.
$i=0;
while($i<10)
{
sleep(5);
echo 'hallo';
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 89361
Url: https://administrator.de/contentid/89361
Ausgedruckt am: 08.11.2024 um 13:11 Uhr
5 Kommentare
Neuester Kommentar
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
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
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
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
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
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