Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pobieranie pliku za pomocą PHP
Forum PHP.pl > Forum > Przedszkole
mishka49
Witam znalazłem taki kawałek kodu
  1.  
  2. $url = 'http://strona.pl/plik.zip';
  3. $file = basename($url);
  4.  
  5. $fp = fopen($file, 'w');
  6.  
  7. $ch = curl_init($url);
  8. curl_setopt($ch, CURLOPT_FILE, $fp);
  9.  
  10. $data = curl_exec($ch);
  11.  
  12. curl_close($ch);
  13. fclose($fp);
  14.  
  15. header('Content-Description: File Transfer');
  16. header('Content-Type: application/octet-stream');
  17. header('Content-Disposition: attachment; filename='.basename($file));
  18. header('Content-Transfer-Encoding: binary');
  19. header('Expires: 0');
  20. header('Cache-Control: must-revalidate');
  21. header('Pragma: public');
  22. header('Content-Length: ' . filesize($file));
  23. readfile($file);

ale plik zamiast zostać pobrany jest wyświetlany w przeglądarce, co może być tego przyczyną?
fate
sprobuj dac header (location, $file) i zakomentowac 26 linijke
ale to moze byc "drewniana" metoda
mishka49
Niestety nawet to nie działa
Turson
  1. //$d - sciezka do pliku
  2. header("Content-Length: " . filesize($d));
  3. header("Content-Transfer-Encoding: binary");
  4. header("Content-Disposition: attachment; filename=" . basename($d));
mishka49
Cytat(Turson @ 22.10.2013, 23:09:01 ) *
  1. //$d - sciezka do pliku
  2. header("Content-Length: " . filesize($d));
  3. header("Content-Transfer-Encoding: binary");
  4. header("Content-Disposition: attachment; filename=" . basename($d));


Genialne. Dużo krótszy kod a działa jak ta lala. Wielkie dzkęki
Matimor
Pamiętaj żeby przetestować te rozwiązanie pod każdą przeglądarką. Z doświadczenia wiem, że są z tym problemy smile.gif
mishka49
Na większośći przeglądarek działa, ale nie wiedzieć czemu podczas ściągania pliku serwer jakby umiera, tzn. plik dalej jest pobierany ale nie można odświeżyć strony, dlaczego?
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.