Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Długa pętla i postęp
elipsa
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 12.09.2005

Ostrzeżenie: (0%)
-----


Witam,

zastanawia mnie czy jest coś takiego możliwe. Nie bardzo wiem, jak to nazwać, dlatego spróbuję opisać. Gdy mamy jakaś pętlę, która bardzo długo wykonuje jakieś operacje, to jej wynik wyświetli się dopiero po zakończeniu całej pętli. A czy można byłoby tak zrobić, że częściowe wyniki pętli pojawiałyby się na ekranie jeszcze w trakcie jej wykonywania? Mamy np.:

  1. for($i=0; $i<=100000; $i++) {echo($i."<br />\n");}


Po wykonaniu pętli pojawi się słupek liczb od 1 do 100000. A czy można by zrobić, żeby w trakcie wykonywania pętli na ekranie kolejno pojawiały się liczby, w miarę jak pętla je generuje?

Pozdrawiam :-)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




nu_moon... Użycie flush/ob_flush w zależności od sytuacji daje wymagane rezultaty. Wiele osób jednak myśli w sposób sekwencyjny. Webowe aplikacje najczęściej tak działają, ale można je próbować zrównoleglić, choć nie jest to proste i nieraz jest to niemal niemożliwe. Wiele zależy od samego pomysłu. Przykładowo weź sobie zrób pętlę ze sleepem 500 i spróbuj wyświetlić numer kroku. Normalny skrypt wyświetli wszystko po zakończeniu skryptu. Użycie ob/ob_flush pozwala to robić "na bieżąco" poprzez wywołanie czyszczenia bufora wewnątrz pętli.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 02:06