将远程(动态生成的)PDF保存到服务器

时间:2017-05-16 15:18:13

标签: php pdf curl fopen file-put-contents

我想使用PHP将URL(API)中的PDF复制到我们的服务器。

当我在浏览器中调用URL时,文件开始直接下载,因此这不是一个静态PDF / URL。我认为这是个问题。

我尝试过使用PHP的不同功能,但没有运气: file_put_contents,copy,fopen / write。

你能告诉我吗?

例如,我尝试过:

$url_label = "http://example.com/Public/downloadlabel.aspx?username=$username&password=$password&layout=label10x15&zipcode=$zipcode&shipment=$ShipmentID";

file_put_contents("label.pdf", fopen($url_label, 'r'));

PDF文件在我的文件夹中创建,但此文件为空(0字节)。

有了卷曲,我希望通过强制下载:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url_label);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
$data = curl_exec($ch);
curl_close($ch);
$destination = dirname(__FILE__) . '/file.pdf';
$file = fopen($destination, "w+");
fputs($file, $data);
fclose($file);
curl_close($ch);

PDF文件创建时带有277个字节,但已损坏。

有什么想法吗?

0 个答案:

没有答案