Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][JavaScript][HTML] Postęp Uploadu, Prosty
MateuszS
post
Post #1





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Witam, szukam prostego upload progress bara do mojego hostingu. Oczywiście na necie znalazłem tego tony, ale niestety są to giga skrypty. Ja potrzebuje czegoś baardzo małego, pokazujący tylko prędkość (tekst) i procentowy lub paskowy postęp uploadu. Może być też info ile pozostało do końca. Mam już zrobiony własny form i input z file, własny skrypt uploadu, trzeba mi tylko ten postęp. Wiem że musi Ajaxem przesłać plik, a potem jakoś moim skryptem dalej. Pozdrawiam

PS albo chociaz jakie funkcje odpowiadaja za pobranie transferu itp


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
bastard13
post
Post #2





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


można to zrobić tak:
  1. //zamiast
  2. <input type="submit" value="TXT" />
  3. //wstaw
  4. <input type="button" onclick="wyslijAjax('nazwa')" value="TXT" />

i dodaj
  1. <script type="text/javascript">
  2. <!--
  3. function wyslijAjax(nazwa)
  4. { var r=null;
  5. if(window.XMLHttpRequest) r=new XMLHttpRequest(); //jeśli przeglądarka!=IE
  6. else if(window.ActiveXObject) r=new ActiveXObject("Microsoft.XMLHTTP"); //jeśli to IE
  7. if(r)
  8. { r.open("GET",nazwa); //przesyła zapytanie za pomocą GET do pliku 'nazwa'
  9. r.onreadystatechange=function()
  10. { //w poniższych if'ach możesz definiować co ma się dziać w trakcie kolejnych kroków wysyłania
  11. if(r.readyState==0) ; //obiekt został utworzony, ale żądanie nie zostało zdefiniowane
  12. if(r.readyState==1) ; //żądanie zdefiniowane, ale nie wysłane
  13. if(r.readyState==2) ; //zapytanie przesłane
  14. if(r.readyState==3) ; //odpowiedź wczytywana
  15. if(r.readyState==4) ; //przesłane dane są dostępne
  16. }
  17. r.send(null)
  18. }
  19. else ;//przeglądarka nie obsluguje ajaxa
  20. }

Wydaje mi się, że to najprostszy sposób. Mogłem gdzieś się pomylić, bo dawno nie miałem styczności z AJAX'em.
Jakby coś nie działało to tutaj masz dobrą stronę
http://www.tizag.com/ajaxTutorial/ajaxxmlhttprequest.php


--------------------
Go to the top of the page
+Quote Post
MateuszS
post
Post #3





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


nom ale tu chyba jest samo przesyłanie, bez czegoś w stylu paska postępu.


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
bastard13
post
Post #4





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Ale możesz zrobić coś takiego
  1. if(r.readyState==0) document.getElementById('postep')='0%';
  2. if(r.readyState==1) document.getElementById('postep')='25%';
  3. if(r.readyState==2) document.getElementById('postep')='50%';
  4. if(r.readyState==3) document.getElementById('postep')='75%';
  5. if(r.readyState==4) document.getElementById('postep')='Przesyłanie zakończone!';

oczywiście możesz zmienić document.getElementById('postep')='0%'; na np. wyswietl_postep(n) i zrobić funkcje, która w zależności od n wyświetlać będzie pasek postępu.


--------------------
Go to the top of the page
+Quote Post
MateuszS
post
Post #5





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


ok a jest mozliwosc potem uzycia mojego kodu PHP do przemieszczenia pliku do innego folderu i wyslanie zapytania do bazy bez dwukrotnego przeladowywania strony? Naciskam na tego buttona i wykona sie przesylanie i moj kod. ?


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 18:52