PHP CURL下载文件

use*_*311 14 php curl file download

我试图从网址下载文件,当我使用浏览器下载对话框工作,但当我使用此代码时,我的服务器上的新文件保持为空.

$ch = curl_init();
$source = "https://myapps.gia.edu/ReportCheckPortal/downloadReport.do?reportNo=$row['certNo']&weight=$row['carat']";
curl_setopt($ch, CURLOPT_URL, $source);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec ($ch);
curl_close ($ch);
$destination = "./files/certs/$row['certNo'].pdf";
$file = fopen($destination, "w+");
fputs($file, $data);
fclose($file);
Run Code Online (Sandbox Code Playgroud)

网址示例:https://myapps.gia.edu/ReportCheckPortal/downloadReport.do? reportNo = 1152872617 & weight = 1.35

use*_*311 25

我用这个解决了这个问题:

curl_setopt($ch, CURLOPT_SSLVERSION,3);
Run Code Online (Sandbox Code Playgroud)

这是最终的代码:

$source = "https://myapps.gia.edu/ReportCheckPortal/downloadReport.do?reportNo=1152872617&weight=1.35";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $source);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSLVERSION,3);
$data = curl_exec ($ch);
$error = curl_error($ch); 
curl_close ($ch);

$destination = "./files/test.pdf";
$file = fopen($destination, "w+");
fputs($file, $data);
fclose($file);
Run Code Online (Sandbox Code Playgroud)