![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 3 Dołączył: 23.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam, pobieram do zmiennej zawartość pliku, obrabiam to w php wyciągając co mi potrzebne, potrzebne dane zapisuje do nowego pliku i działa to oki.
Ale że zazwyczaj załadowanie strony która to przetwarza trwa chwile (skrypt pobiera i obrabia w pętli for około 20-30 plików), chciałbym zrobić taki preloader z textem "przetworzono 15 z 20 plików.". Nie wiem jak to zrobić, nie wiem też jak to się nazywa, bo bym poszukał w google. Zwykłe preloadery z textem "Wczytywanie strony..." znalazłem, ale takiego który by pokazywał ile danych z ilu przetworzył nie potrafię znaleźć żeby przeanalizować kod. Wiec proszę o wskazówki czego szukać, ewentualnie jak zrobić takie coś. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 511 Pomógł: 143 Dołączył: 13.03.2010 Skąd: Jasło Ostrzeżenie: (0%) ![]() ![]() |
Można zrobić to tak:
1. W JS generujesz unikalny, losowy token. 2. Za pomocą JS (np przy użyciu frameworka jQuery) wywołujesz skrypt który będzie przetwarzał dane. Przekazując wcześniej wygenerowany token. 3. Skrypt przetwarzający zapisuje do bazy danych postęp prac wraz z przekazanym tokenem 4. Na stronie co parę sekund wywołujesz zapytanie o postęp prac dla danego tokenu. Skrypt sprawdza w bazie danych postęp rac dla danego tokenu. Ewentualnie możesz bawić się z funkcją php flush |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 479 Pomógł: 97 Dołączył: 6.09.2011 Skąd: php.net :) Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązanie dobre ale nie koniecznie musisz używać do tego za każdym razem zapytania.
W pliku, który wywołujesz musisz umieścić mechanizm, który będzie generował odpowiedni plik, a w jQuery w zwykłej pętli wywołujesz ten skrypt, a userowi a jakimś dive z pomocą .html() wypisujesz aktualny numer pliku. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 23:41 |