Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][CURL] Zrywanie strumienia danych
Forum PHP.pl > Forum > PHP
mrKrecik
Witam,

mam prostą funkcję do pobierania plików:

  1. ini_set( 'memory_limit', -1 );
  2. ini_set( 'max_execution_time', 0 );
  3. header( 'Content-type: application/force-download' );
  4. header( 'Content-Disposition: attachment; filename="' . $strFileName . '"' );
  5. header( 'Content-length: ' . $intFileSize );
  6. $chCurl = curl_init( $strUrl );
  7. curl_exec( $chCurl );
  8. curl_close( $chCurl );


W skrócie - skrypt pobiera pliki z adresu $strUrl, a następnie wysyła go bezpośrednio do użytkownika, tworząc pomiędzy użytkownikiem, a serwerem docelowym strumień danych. Generalnie całość działa w porządku, ale czasami zdarzy się, że pobieranie trwa i nagle zostaje wstrzymane. Dzieje się tak w różnych odstępach czasu oraz przy różnym procencie ściągnięcia pliku.

Ma ktoś pomysł czego to może być wina? Może jakieś ustawienia serwera. Ew. gdzie mógłbym sprawdzić co powoduje dany problem (jakieś logi serwera).

pozdrawiam
mrKrecik
erix
Jeśli bierzesz zawartość z cURL-a, to się nie dziw - jeśli dane przekroczą rozmiar dostępnej pamięci, to jest problem...

IMO lepiej otworzyć dwa pliki przez fopen (a strumień ewentualnie przez fsockopen) i kopiować paczkami z jednego do drugiego.
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.