@rtur
21.10.2012, 07:27:07
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ś.
jaslanin
21.10.2012, 07:52:08
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
IProSoft
21.10.2012, 09:34:12
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.