Witam!
Mam swoja stronke na serwerku gdzie przez php idzie zaladowac plik o wielkosci max 2MB (przez formularz postem). Wymyslilem wiec cos takiego:
Przez jakis skrypt (np JavaScript) po stronie clienta czytamy ten plik powiedzmy po kilobajcie i wysylamy ten kilobajt do serwera postem, gdzie skrypt php dopisuje ten kilobajt do pliku u siebie.
Tylko czy jest mozliwe takie czytanie pliku skryptem po stronie klienta? Bo jesli chodzi o php to sobie poradze, tylko prosze o pomoc jak powinien wygladac skrypt przetwarzany przez przegladarke. Czy w javascripcie da sie cos takiego zrobic?
nie
a moze da się to zrobić jakoś inaczej, nie w javascripcie?
No wlasnie - w koncu taki rapidshare pokazuje pasek postepu wiec chyba jakos mozna
Pasek postepu, a dostep javascripta do pliku na localhost to zupelnie dwie rzeczy. Ten drugi dostepu nie ma, wiec przez javascripta sie nie da.
pozdrawiam
johny
więc:
- więc jak zrobić taki pasek postępu w javascripcie?
- czy jest jakiś sposób na wysyłanie po jednym kilobajcie?
;]
Np. aplet javy z odpowiednimi uprawnieniami.
pozdrawiam
johny
rozumiem, że to odpowiedź na drugie pytanie,
a pierwsze?
Jezeli to applet javy, to nie ma sensu robic paska w javascripcie, bo mozna go zrobic od razu w aplecie. Natomiast jesli upload bedzie jakos inaczej, to mozna napisac skrypt podajacy aktualna wartosc zgranego pliku (ktora np. jest gdzies zapisywana w trakcie uploadu) i zczytywac ta wartosc ajaxem.
pozdrawiam
johny
hmm a na megaupload.com zrobili to we flashu i javascripcie (nie wiem jak)
nie wiem czy wiecie, ale plik wysyłany jest prawie zawsze w pakietach (zależnie od łącza). To co zaproponował sc0ty nie jest bez sensu, chociaż zrobienie tego wymaga jakichś udziwnień w stylu pisania modułów do apacha lub programowania serwera.
Wnioski wyciągnijcie sami :D
A moze daloby sie zrobic to troche inaczej - wczytac plik przez formularz a nastepnie przez javascript ten plik z formularza wysylac po kawalkach - tylko czy da sie odczytac plik z inputa przez js?
nie, jest dokładnie tak jak napisane powyżej
widziałeś gdzieś taki pasek postępu w mniej poważnym serwisie (takim który na pewno nie ma własnych serwerów) ?
chociaż chyba wiem jak to zrobić bez cudowania ale nigdy tego nie robiłem więc się nie jestem tego pewien i lepiej zamilkne ...
może ktoś ma jeszcze jakieś pomysły na wykonanie czegoś takiego?
Jak zrobili na megaupload to nie wiem, bo flash tez nie ma zdaje sie dostepu do plikow lokalnych, ale mozna tez zrobic tak, ze piszemy niewidoczny applet (uprawniony), ktory wywolujemy z js'a. I wydaje sie, ze jest w js, a tak naprawde robi to java.
pozdrawiam
johny
dobra, my tu gadu gadu a na google trudno tego nie znaleźć więc "wnioski wyciągnijcie sami"
plik nie jest wysyłany do skryptu php ale perl który zapisuje dane do czegokolwiek a ajax pyta się na bieżąco o to skryptu php który tą wartość wyłuskuje