PHP + PDF, как сохранить загруженный PDF с помощью curl?

желанный

У меня есть небольшая проблема с сохранением загруженного pdf на странице. Чтобы загрузить pdf, я использую 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); 

Теперь в $ Result (string) у меня есть все содержимое файла PDF. И теперь начинается моя проблема. Я хотел бы сохранить загруженный pdf-файл:

 header('Cache-Control: public'); header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="new.pdf"'); header('Content-Length: '.filesize($Result)); readfile($Result); 

К сожалению, когда я сохраняю или открываю новый файл PDF, я получаю пустой документ. Возможно, проблема связана с последними строками:

 header('Content-Length: '.filesize($Result)); readfile($Result); 

К сожалению, я не знаю, как их изменить, чтобы заставить его работать … Я прошу вас о помощи. благодаря

 $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); header('Cache-Control: public'); header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="new.pdf"'); header('Content-Length: '.strlen($Result)); echo $Result; 

Пожалуйста, попробуйте это.

filesize и readfile принимают файлы в качестве аргументов. Вы предоставляете строку вместо файла.

Возможно, что:

 // ... $Result = curl_exec($CurlConnect); $file = 'file.pdf'; $fileName = 'fileName.pdf'; file_put_contents($file, $Result); 

и тогда:

 header('Content-type: application/pdf'); header('Content-Disposition: inline; filename="' . $filename . '"'); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . filesize($file)); header('Accept-Ranges: bytes'); readfile($file); 

Надеюсь, я помог!