2017-08-02 54 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