Skocz do zawartości
Zaloguj się, aby obserwować  
Gość finlandia

[AJAX] Skrypt

Polecane posty

Gość finlandia

Witam, ponownie potrzebuje pomocy - tym razem dziedzina ajax. Sprawa wyglada nastepujaco:

Mam skrypt php, ktory po podaniu linka sciaga plik na serwer przy pomocy wget. Zalozmy, ze plik wazy 50-100Mb. Mimo lacza 100Mb/s pobranie pliku zajmie "pare sekund". Potrzebuje wiec zbudowac "pasek postepu" ktory bedzie na bierzaco, powiedzmy co 2 sekundy, odswiezal pasek i pokazywal ile % pliku zostalo pobrane, a gdy pasek pokaze 100% po nacisnieciu go bedzie mozna pobrac plik. Szukalem i na polskich i angielskich stronach, ale za duzo o ajaxie nie ma.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

A czy to musowo ma być ajax? Może poszukaj skryptów takich za free, wyciągnij ten moduł skryptu i zainstaluj do swojego :) (za zgodą autora bla bla bla... ;))

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Samo zagadnienie dość proste do zrealizowania,

Na początek ajaxem następuje uruchomienie jakiegoś procesu np. ściągania, który do zmiennej sesyjnej zapisuje postęp potem co określony czas np. 2 sekundy wywołuje się ajaxem skrypt, który odczytuje ze zmiennej sesyjnej ten postęp i zwraca go. I to wszystko.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość finlandia

@Kamikadze:

W czym to będzie to mi wszystko jedno, natomiast chcę poprostu to skutecznie zgrać z moim skryptem.

 

@regdos:

Proces ściągania uruchamiany jest przez wysłanie formularza, dodam że ajax jak narazie to dla mnie czarna magia. Może oprócz teoretyki pomożesz w praktyce? Jakiś artykół, link , cokolwiek.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Zainteresuj się jquey i tam ajaxem.

 

Ja tym rozwiązaniem importuje z CSV do bazy duży plik. Mam podpięty pod guzik akcję, która uruchamia poprzez ajax skrypt importu

 

$.ajax({
		url: "http://strona.pl/skrypt.php,
		dataType: "text",
		beforeSend: start_display(),
		success: function(msg,status){
			stop_display();
		}
	});
});
});

 

w akcji beforeSend uruchamiam skrypt start_display(), który pokazuje progress bar i startuje czas poprzez setInterval("display()",1200); czyli co 1,2 s wywoływana jest funkcja display();

w akcji succes odpalam skrypt stop_display(), który chowa progress bar i zatrzymuje timer.

 

w funkcji display() poprzez ajaxa wywołuje skrypt zwracający postęp (odczytuję zmienną $_SESSION zapisywana przez skrypt skrypt.php)

i aktualizuje procent wyświetlany na stronie (ja wykorzystuje json w danych zwracanych bo więcej rzeczy przekazuję niż tylko postęp)

function display() {
   $.ajax({
	type: 'get',
	dataType: "json",
               url: "http://serwer.pl/postep.php",
	success: function(msg,status){


           }
       }
   });
}

 

reszę powinieneś doczytać i popróbować.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×