2017-08-02 4 views
0

Ich möchte eine PDF-Datei von einem Server auf meinem lokalen Gerät herunterladen. ich den folgenden Code verwendet:Download Remote-PDF mit PHP-Code

$url="https://www.example.com/test.pdf"; 
    $file = fopen(dirname(__FILE__) ."/PDF Files/".$filename, 'w+'); 
    $curl = curl_init($url); 
    curl_setopt_array($curl, [ 
           CURLOPT_URL   => $url, 
           CURLOPT_BINARYTRANSFER => 1, // No effect from PHP 5.1.3 
           CURLOPT_RETURNTRANSFER => 1, 
           CURLOPT_FILE   => $file, 
           CURLOPT_TIMEOUT  => 50, 
           CURLOPT_USERAGENT  => 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)' 
           ]); 
    $response = curl_exec($curl); 

nach dem Code ausgeführt wird, finde ich die PDF-Datei auf meinem lokalen Gerät, aber wenn ich es öffne, erhalte ich die Meldung, dass die Datei beschädigt ist. Irgendwelche Hilfe?

+0

Können Sie prüfen, ob die Datei wirklich beschädigt ist? – hrvojeA

+0

Ich habe überprüft, die ursprüngliche Datei ist nicht beschädigt. Es enthält ein Design für eine Box. In anderen Worten ein grafischer Inhalt. – Nour

Antwort

0

-Code habe ich einmal für ähnliche Aufgabe war:

$url = '"https://www.example.com/test.pdf'; 
$savePath= 'test.pdf'; 


$ch = curl_init($url); 
if($ch === false) 
{ 
    die('Failed to create curl handle'); 
} 

$fp = fopen($savePath, 'w'); 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_FILE, $fp); 

$data = curl_exec($ch); 

curl_close($ch); 
fclose($fp); 

Sie können auch mit "deaktivieren" Header versuchen:

curl_setopt($soap_do, CURLOPT_HTTPHEADER, 0); 

EDIT 2:

Noch ein paar SA Fragen, die könnte Ihnen helfen:

Download remote PDF using php code

why my downloaded file is alwayes damaged or corrupted?

+0

Danke. Ich habe den Code ausprobiert, hatte aber das selbe Problem. – Nour