Php 下载PDF文件

Php 下载PDF文件,php,Php,使用PHP curl下载50多个PDF文件的正确方法是什么 下面是我正在使用的代码: $fp = fopen("test.pdf", 'w'); $ch = curl_init(); curl_setopt($ch,CURLOPT_PROXY,"http://test:123"); curl_setopt($ch,CURLOPT_PROXYPORT,123); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt (

使用PHP curl下载50多个PDF文件的正确方法是什么

下面是我正在使用的代码:

$fp = fopen("test.pdf", 'w');        
$ch = curl_init();

curl_setopt($ch,CURLOPT_PROXY,"http://test:123");
curl_setopt($ch,CURLOPT_PROXYPORT,123);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt ($ch, CURLOPT_TIMEOUT, 500);
curl_setopt($ch,CURLOPT_URL,"http://download/test.pdf");
curl_setopt($ch, CURLOPT_FILE, $fp);

curl_exec($ch);
curl_close($ch);
fclose($fp);
问题是,有时2-3个PDF文件未正确下载(大小为0-1字节)。知道它为什么不稳定吗?我必须在上面的代码中包含任何其他内容吗


提前感谢

一般来说,即使是通过浏览器和良好的连接,Web请求也可能非常不可靠。从远程站点拒绝您的连接到从多个位置同时执行php文件,这里可能会出现一些问题。看看:

尝试在某处打印错误消息,以便在curl_exec上进行分析

如果是连接问题,您可能需要引入重试机制,不确定您的脚本是否可能从多个位置并行执行,但如果是,您应该首先考虑生成一个合理唯一的文件名,尝试下载,然后,如果没有返回错误,则仅将文件移动到目标文件,否则,最多重试X次

关于Curl的稳定性,我经常使用它,它对我来说并没有被证明是不稳定的,但我并没有提取二进制数据。我希望一些错误检测和错误消息的输出可以让我们更清楚地了解这里的根本原因