Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Uploader plików na serwer w AJAX
Forum PHP.pl > Forum > XML, AJAX
reo
Chciałbym stworzyć uploader plików działający na Ajaxie który pokazywałby procent wysyłanego pliku. Coś w rodzaju jak na e-mailu o2.pl. Może jest jakiś AJAX Framework który by to ułatwił? tiredsmiley.gif
prond
Sprawa nie jest prosta ponieważ w typowych warunkach nie jesteś w stanie dobrać się w PHPie do informacji jaka część pliku jest już na serwerze.
Na pewno pozwala na to APC, myślę że zacznij googlanie od czegoś ala 'APC file upload'.
devnul
ja tylko dodam od siebie że przy użyciu technilogi ajax nie można przesyłać plików. Są za to metody pośrednie (tak jak napisał prond APC, ew rozwiązania oparte na cgi [perl itp]) przy bezpośrednim przeładowaniu (gdzie podczas wysyłania następuje seria rządań do serwera z zapytaniem o status przrzesłanego pliku), lub ukyrta ramka (iframe) ktory jest adresatem formularza (target) i dzięki temu cała strona nie musi ulegać przeładowaniu. dodam że z tego triku kożysta np googiel w gmailu do przesyłania załączników - wybierzcie załącznik i nie wciskajcie submit - plik po chwili sam się załąduje a strona pozostanie nienaruszona
Loozak
Rozwiązanie twojego problemu istnieje i nazywa się SWFUpload.
Możesz z poziomu javascriptu kontrolować pasek postępu, komunikaty, kolejkę plików i wiele innych.
Najprościej będzie pobawić się demami na stronie http://demo.swfupload.org/
devnul
nie każdy ma/wspiera/życzy sobie używać flasha
Loozak
Cytat(devnul @ 4.01.2008, 05:13:03 ) *
nie każdy ma/wspiera/rzyczy sobie używać flasha

Oczywiście i dlatego w przypadku gdy użytkownik nie ma obsługi Flasha/JavaScriptu całość degraduje się do zwykłego pola typu file.

Raczej nie znajdziesz lepszego rozwiązania.
devnul
znajdziesz- js działa w 99% user-agentów (biorąc pod uwage ich procentowy udział w rynku) za to flasha nie wszystkie (czesc jest blokowana przez różne adbloki itp a czesc osób z tego powodu wlaśnie z flasha nie kożysta dlatego uważam że flash w tym wypadku ro strzelanie z armaty do komara) wystarzy prosty skrypt w perlu i pare linijek w javascript i działa to na większości serwerów ( z tym że na wybór serwera twórca strony ma wpływ bezpośredni a na wybór user agenta już nie)
vokiel
Jeśli jeszcze Cie interesuje upload z pokazaniem %postępu to tutaj takowy znalazłem: UploadProgressMeter
A tutaj troche opisu: Upload Progress Meter
Pozdrawiam
skowron-line
Cytat
Na pewno pozwala na to APC, myślę że zacznij googlanie od czegoś ala 'APC file upload'

http://martinjansen.com/2007/04/upload-progress/ znalazlem cos takiego ale ciekawie to wyglada poniewaz najpierw leci progress bar a potem przaladowuje sie strona w tepie takim jak normalnie przy uploadzie plikow.

Ciekawe rozwiązanie zastosowali tworcy GRONO.NET tam upload plikow polega na zaznaczeniu jednego/kilku zdjec i nacisniecie oke i wszystko to pojawia sie odrazu na stronie, ci z was co mają konta na grono niech to obadaja bo bardzo fajnie to wyglada. Jeśli mogłby ktoś powiedzieć jak to jest napisane byłbym wdzięczny
vokiel
Łukasz Lach napisał advAjax, w którym jest możliwość pokazania paska postępu: AdvancedAJAX 2.0 RC2
wersja 1.1 http://advajax.anakin.us/index-pl.htm

tutaj b ładny przykład: test1c

więcej na forum: Temat: ajax Moje pierwsze starcie

pozdrowienia dla anAKiN
devnul
tylko że jest to pasek postępu obrazujący procent pobrania danych via ajax a nie ich wysłania
windman
Czy pasek z przykladu test1c powinien się poruszać?
U mnie nic się nie dzieje.
kosmowariat
Cytat(windman @ 12.01.2008, 04:30:36 ) *
Czy pasek z przykladu test1c powinien się poruszać?
U mnie nic się nie dzieje.


u mnie się porusza ;]
tomaszh
kiedyś szukałem i poruszałem taki temat. Do tego nadaje się idealnie PERL. Polecam gotowe rozwiązania oparte na php i perl-u, np. w2box oraz uber uploader. Aby dostosować do swoich wymagań trzeba oczywiście trochę modyfikacji, ale większych problemów nie powinno być. Myślę że perl do uploadu ze statusbarem nadaje się idealnie.

Jeżeli chodzi o pasek z przykładu Anakina to działa chyba tylko pod FF, bo ani w IE6 ani IE7 pasek się nie porusza, a szkoda.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.