WitamyPHP + PDF, jak zapisać pobrany plik PDF za pomocą curl?
Mam mały problem z zapisaniem pobranego pliku pdf na stronie. Aby pobrać plik PDF używam Curl:
$CurlConnect = curl_init();
curl_setopt($CurlConnect, CURLOPT_URL, 'http://website.com/invoices/download/1');
curl_setopt($CurlConnect, CURLOPT_POST, 1);
curl_setopt($CurlConnect, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($CurlConnect, CURLOPT_POSTFIELDS, $request);
curl_setopt($CurlConnect, CURLOPT_USERPWD, $login.':'.$password);
$Result = curl_exec($CurlConnect);
Teraz w $ Wynik (string) Mam wszystkie treści pliku PDF. A teraz zaczyna się mój problem. Chciałbym zapisać pobrany plik:
header('Cache-Control: public');
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="new.pdf"');
header('Content-Length: '.filesize($Result));
readfile($Result);
Niestety, po zapisaniu lub otworzeniu nowego pliku PDF otrzymuję pusty dokument. Być może problem jest z ostatnimi wierszami:
header('Content-Length: '.filesize($Result));
readfile($Result);
Niestety, nie wiem, co się je zmienić, aby to działało ... Proszę o pomoc. Dzięki
dlaczego nie użyć http://php.net/manual/en/function.pdf-save.php –
myślę, że jest jakiś błąd występujące w kodzie. Zawiń swój kod w bloku try-catch i dodaj kilka kroków debugowania. – Khaleel
Nie testowałem, ale myślę, że dla 'filesize()' i 'readfile()' potrzebna jest ścieżka pliku rzeczywistego zamiast jej zawartości jako łańcucha znaków. – enenen