Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wyświetlenie rezultatu w petli po kazdym przebiegu
Ryder
post
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 1
Dołączył: 5.01.2008

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


Witam,

Zrobiłem prosty skrypt do wysyłki maili.
Załóżmy, że chciałbym wysłać ok. 100 - 200 maili w ramach jednej paczki.


  1. for($i=0;$i<100;$i++)
  2. {
  3. // wyslanie maila phpmailer
  4. .....
  5. // wyświetlenie rezultatu
  6. echo "<br />Wysłano dla - $i";
  7.  
  8. usleep(500000); // 0.5s
  9. }


Po każdym wysłanym mailu dodałem funkcje unsleep na 0,5s.
Aktualnie działa to w ten sposób ze skrypt wykonuje wysyłke 100maili i wyświetla rezultat na raz po ok 1min.
W jaki sposób wyświetlić po każdym mailu na ekranie komunikat z rezultatem. (Ajax ?), a nie po wykonaniu całego skryptu.


Go to the top of the page
+Quote Post
timon27
post
Post #2





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

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


Możesz przerzucić oczekiwanie na java script:
  1. for(var i=0;i<100;i++){
  2. settimeout("ajax('skrypt.php?i='"+i+")",i*30*1000);
  3. }

Funkcja ajax powinna wywoływać adres, a rezultat wyświetlać gdzieś na stronie.
a w pliku php zrobić wysłać tylko jeden mail dla $i=$_GET['i'];

Ten post edytował timon27 27.08.2014, 22:39:48
Go to the top of the page
+Quote Post
Ryder
post
Post #3





Grupa: Zarejestrowani
Postów: 74
Pomógł: 1
Dołączył: 5.01.2008

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


Dzięki,

Sprawdzę.
Znalazłem jeszcze działajace rozwiązanie z ob_flush

header ('Content-type: text/html; charset=utf-8');
Ale bez ob_start(); na poczatku strony

  1. for($i=0;$i<100;$i++)
  2. {
  3. // wyslanie maila phpmailer
  4. .....
  5. // wyświetlenie rezultatu
  6. echo "<br />Wysłano dla - $i";
  7.  
  8. flush();
  9.  
  10. usleep(500000); // 0.5s
  11. }
Go to the top of the page
+Quote Post
tzm
post
Post #4





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Takie rzeczy się ajaxem robi a nie ob_flushem... ewentualnie poczytaj sobie co to jest JSONP
Go to the top of the page
+Quote Post

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: 15.09.2025 - 01:46