Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak pobierać pliki w "tle" z serwera wrzuty na mój ftp
Forum PHP.pl > Forum > PHP
Norbit_24
Witam

Zrobiłem sobie skrypcik, którym można pobierać pliki z wrzuty.
Po wklejeniu linka do formularza klikam pobierz i plik wgrywa się na serwer (copy()), jednak trzeba czekać aż się wgra na ftp (nie da się przejść do innej zakładki) dopiero jak się wrzuci..

Jak zrobić żeby się wgrywało to w "tle" ?

Z góry dzięki a pomoc.
aso824
Raczej nie - chyba że otworzysz popupa i tam się będzie wgrywało.
Rozumiem że chodzi ci o zakładki na stronie (czy o karty w przeglądarce) ?
Blame
Hmm, może Ajax wysyłający żądanie do skryptu php który pobiera plik.
Norbit_24
tak, zakładki (podstrony) na stronie..
Musi się dac tak zrobić, ponieważ np. serwis który pobiera pliki z rapidshare tj. rapidown
Wrzuca sie kilka plików i one pobierają się w tle.. A w następnej postronie można sprawdzić ile % już sie pobrało..

Chodzi tez o to, ze jakbym zamknął przegladarkę to żeby dalej sie to wrzucało..
Bo podkreślam.. Nie wrzucam tego ze swojego kompa tylko pliki kopiuja się z wrzuty..
Blame
Tak jak powiedziałem w poprzednim poście Ajax ew. cURL.
Norbit_24
Tylko jest taki problem, że ajaxa prawie w ogóle nie znam..;/
Fajnie by było jakbyście podrzucili jakies propozycję
gcdreak
Robisz to tak:

1. Html

  1.  
  2. <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
  3.  
  4. <input type="text" id="mojLink" name"mojLink" />
  5.  
  6. <button onclick="pobierz()">Kliknij, by pobrać w tle</button>
  7.  
  8.  
  9. function pobierz(){
  10.  
  11. var linkDoPobrania = $('#mojLink').val();
  12.  
  13. $.get('skrypt_pobierania', {link:linkDoPobrania});
  14.  
  15. }
  16.  
  17.  


W pliku ze skryptem link będzie w zmiennej $_GET['link'];




Jeśli coś by nie działało to posprawdzaj dokładnie kod - "pisane na kolanie" i nie testowano...







aso824
Tylko jeżeli chodzi o pobieranie po zamknięciu przeglądarki, to Ajax z tego co wiem to się nie nadaje.
Prawdopodobnie na serwerze stoi albo skrypt PHP pod cronem (mało prawdopodobne) albo zwykły program (C, C++ - bardziej prawdopodobne) i ty jedynie dodajesz do kolejki.
Norbit_24
Kod ajax działa (dziękuje).

Przez zastosowaniem ajaxa zauważyłem, że gdy dam polecenie ściągania (wkleje link i kliknę "pobierz") i wyłącze zakładkę to plik dalej się ściąga na serwer.. więc jest ok..

Ale mam teraz następny problem..
Daje polecenia ściągania, przechodzę do zakładki "pobrane pliki" i wyświetlaja się wszytskie pobrane pliki, jest ok..
Ale co bedzie wtedy gdy plik się jeszcze nie pobrał i kliknę w link pobierania..? Plik nie pobierze się cały tylko jego fragment..
Dlatego chciałem zrobić by pokazywało ile % już pliku się ściągnęło na mój serwer i gdy się już ściągnie to żeby dopiero wtedy dało się kliknąć w linka pobierania..

Jak zrobić takie sprawdzanie?
aso824
No to już wyższa szkoła jazdy - tego tak nie wykonasz.
Gdybyś próbował otworzyć taki plik to oczywiście będzie błąd.
Niestety, w % dość ciężko to wykonać - możesz na żywo sprawdzać ile waży pobrany już plik i jakoś uzyskać ile waży całkowicie i obliczyć %.

PS. Daj Pomógł "gcdreak" - dał ci kod smile.gif
Norbit_24
Tutaj wrzuciłem ten skrypt:

Cytat


Gdy pobiorę ten niepobrany do końca plik (z wrzuty na mów serw) na komputer to otwiera się i odtwarza normalnie ale tylko chwile (tyle ile sie pobrało)

oo jak się da sprawdzać ile wazy plik na żywo to już jest połowa sukcesu.. bo całkowita wagę już mam wyciągnietą..
Ale jak wyciągnąć to na żywo?

Za pomoc oczywiście "pomógł"

p.s gcdreak miałem dać + jak rozwiążę już cały temat (zawsze tak robię)



// edit 12.02.10
Witam
Potrzebuje przerobić ten skrypt tak, aby obsługiwał <textarea>

  1. <textarea name="mojLink" id="mojLink" rows="15" cols="55"></textarea>



  1. <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
  2.  
  3. <input type="text" id="mojLink" name"mojLink" />
  4.  
  5. <button onclick="pobierz()">Kliknij, by pobrać w tle</button>
  6.  
  7.  
  8. function pobierz(){
  9.  
  10. var linkDoPobrania = $('#mojLink').val();
  11.  
  12. $.get('skrypt_pobierania', {link:linkDoPobrania});
  13.  
  14. }
  15.  


Z góry dzięki

// edit:

Nikt nie wie ..?
Bo w input działa, a jak dam textarea to nie dziła
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.