Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Pobieranie pliku ze strony.
Forum PHP.pl > Forum > Przedszkole
svmon
Witam.
Chciałbym pobrać i zapisać plik, który jest umieszczony na innej stronie. Problem z jakim się natknąłem to pobranie pliku.

Próba 1.
  1. $fileUrl = 'http://bossa.pl/pub/metastock/mstock/sesjaall/sesjaall.prn';
  2. $data = file_get_contents($fileUrl);
  3. var_dump($data);


Próba 2.
  1. function get_content($URL){
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  4. curl_setopt($ch, CURLOPT_URL, $URL);
  5. $data = curl_exec($ch);
  6. curl_close($ch);
  7. return $data;
  8. }
  9.  
  10. $fileUrl = 'http://bossa.pl/pub/metastock/mstock/sesjaall/sesjaall.prn';
  11. $data = get_content($fileUrl);
  12. var_dump($data);


Zamiast tekstu, który jest na stronie bossa, otrzymuję ciąg dziwnych znaków.
Po zapisaniu tych znaków do pliku:

  1. file_put_contents('plik.txt', $data),

Otrzymuję plik, który ma w treści dokładnie te same znaki co pokazuje var_dump.

Z góry dzięki za pomoc.
Turson
Dodaj w curlu jeszcze informacje o przeglądarce
svmon
Niestety nie pomogło, chyba że robie coś źle, poniżej kod:
  1. function get_content($URL){
  2. $agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5';
  3.  
  4. $ch = curl_init();
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  6. curl_setopt($ch, CURLOPT_USERAGENT, $agent);
  7. curl_setopt($ch, CURLOPT_URL, $URL);
  8. $data = curl_exec($ch);
  9. curl_close($ch);
  10. return $data;
  11. }


Próbowałem też:
  1. $agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0';
Pyton_000
Serwer wysyła skompresowaną zawartość dodaj do CURL

CURLOPT_ENCODING = gzip
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.