2017-08-02 87 views
0

我想從服務器下載PDF文件到我的本地設備。 我用下面的代碼:使用php代碼下載遠程PDF

$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); 

運行代碼後,我發現我的本地設備上的PDF文件,但是當我打開它,我得到一個消息說,該文件已損壞。 有什麼幫助嗎?

+0

你能檢查iif文件是否確實損壞了嗎? – hrvojeA

+0

我檢查過,原始文件沒有損壞。它包含一個盒子的設計。在其他方面的一個grafic內容。 – Nour

回答

0

代碼我用了一次類似的任務是這樣的:

curl_setopt($soap_do, CURLOPT_HTTPHEADER, 0); 

編輯2:

$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); 

你也可以用 「禁用」 標題嘗試

再過SA問題,這可能會幫助你:

Download remote PDF using php code

why my downloaded file is alwayes damaged or corrupted?

+0

謝謝。我嘗試了代碼,但遇到同樣的問題。 – Nour