Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: header(force-download) ftp czy http?
Forum PHP.pl > Forum > PHP
gdaq
Uzywam takiego skryptu do obslugi download'u
  1. <?php
  2.  
  3. $dir = 'ftp://doema.pl';
  4. $filename ='plik.zip';
  5. $pathfile = $dir.'/'.$filename;
  6.  
  7. //jeśli znaleziono taki plik
  8. if ( $filename )
  9. {
  10. header('Content-Type: application/octet-stream');
  11. header('Content-Disposition: attachment; filename='.$filename);
  12. header('Content-Type: application/force-download');
  13. //odczytanie pliku z serwera FTP i wysłanie do przeglądarki
  14. readfile($pathfile);
  15. }
  16.  
  17. ?>


Czy sciagany plik bedzie obciarzal protokol http czy bedzie lecial przez ftp?
Za pomoc zogry dzieki

Gdaq
dr_bonzo
1. plik odczytujesz z FTP -- czyli musisz wykorzystac protokol FTP
2. do przegladarki zostanie wyslany protokolem http
gdaq
czyli defakto bedzie obciazal http?
Moj problem polega na tym ze na serverze ftp mam o wiele szybsze lacze i nie chce obciazac downloadem plikow z ftp'a protokolu http dla ktorego mam o wiele nizsza przepustowosc.
Ma ktos moze jakis pomysl jak to wykonac aby obciazalo tylko ftp'a?

Gdaq
tiraeth
Przekieruj adres smile.gif
  1. <?php
  2. $dir = 'ftp://doema.pl';
  3. $filename ='plik.zip';
  4. $pathfile = $dir.'/'.$filename;
  5.  
  6. header(&#092;"Location: $pathfile\");
  7. ?>


ps. sprawdzanie istnienia pliku wykonuje się wywołując funkcję file_exists() smile.gif Dla FTP musiałbyś łączyć się poprzez ftp_connect itd.
gdaq
file_exists:) wiem tylko skrypt wygrzebalem gdzies ze starych gratow i nawet nie zmienilem jeszcze:) ale dzieki
header("Location: plik") tez mi przyszlo do glowy tylko mialem ta sama watpliowsc co powyzej ale wsumie masz racje to jest to samo co przegladanie zawartosci server'a ftp przez przegladarke internetowa a to chyba obciaza ftp'a a nie http?

Gdaq
dr_bonzo
$dir = 'ftp://doema.pl';

^ protokol (tutaj "ftp") decyduje czy uzywasz ftp czy http.
gdaq
ok dzieki chlopaki za pomoc rowniez bylem o tym przekonany ale szef ma zawsze racje i trzeba go przeknoac;)
jeszcze raz dzieki

Zaczalem drazyc temat dalej ale pojawil sie problem bo uzywajac header'ow force-download etc. nie moge odczytac pliku z serwer'a ftp czy ktos wie jak to zrobic nie uzywajac header("Location:")?

Podczas używania header("Location:") problem jest taki ze pod Mozilla uzytkownik dostaje login i haslo jelsi URL podam w nastepujacej postaci URL="ftp://login@haslo:host/pli.zip" czy wie ktos jkato obejsc moze jakis link ktos podrzuci:)
Z gory dzieki


Gdaq
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.