Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Curl] Podczas pobierania ucina końcówkę pliku
Forum PHP.pl > Forum > Przedszkole
sannin
Cześć,

pobieram za pomocą curl plik z innego serwera i strumieniuję go do przeglądarki. Pobierałem już różne pliki i wszystko działało teraz mam plik który ma 100 mb (105 232 325 bajty). Natomiast przeglądarka pobiera 105 216 270 bajty, to co pobiera curl zapisywałem na serwer do pliku i wynik jest dobry 105 232 325 bajty. Czyli z serwera do serwera pobierana jest dobra ilość danych. Problem leży gdzieś po stronie serwer-klient. Sprawdziłem snifferem nagłówki które wysyłam i wyglądają ok:

Cytat
HTTP/1.1 200 OK
Date: Thu, 17 Nov 2011 07:45:15 GMT
Server: Apache
Accept-Ranges: bytes
Connection: close
Content-Description: File Transfer
Content-Disposition: attachment; filename=test28.rar
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Last-Modified: Thu, 17 Nov 2011 07:45:16 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
Content-Range: bytes 0-105232324/105232325
Content-Length: 105232325
Vary: Accept-Encoding,User-Agent
Content-Encoding: gzip
Content-Type: application/force-download


Jeśli ręcznie zmienię wielkość Content-Length na o 1 mb większą to pobiera się cały plik. Może ktoś spotkał się z czymś takim?
Sephirus
Co rozumiesz przez strumieniowanie do przeglądarki? I jak się sprawa ma na przykład z plikiem zajmującym 90MB?
sannin
Coś takiego:
  1. curl_setopt($this->c, CURLOPT_URL, $this->file['download_link']);
  2. curl_setopt($this->c, CURLOPT_TIMEOUT, 0);
  3. curl_setopt($this->c, CURLOPT_RETURNTRANSFER, 0);
  4. curl_exec($this->c);


Z 90 mb nie wiem, ale pliki 5-10 mb oraz 200-300 mb bez problemu.

Natomiast curl. Przesyła do głównego serwera coś takiego:
Cytat
HTTP/1.1 200 OK
Date: Thu, 17 Nov 2011 08:19:52 GMT
Connection: close
Content-Type: application/octet-stream
Accept-Ranges: bytes
Content-Disposition: Attachment; filename=test28.rar
Content-Length: 105232325


Wina serwera, na innym śmiga aż miło.
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.