通过 Curl PHP 表单数据将服务器存储的 PDF 文件发送到另一台服务器
P粉521748211
2023-08-31 12:44:11
<p>我正在尝试通过 Curl PHP Form Data 方法将存储在我的服务器上的 PHP 文件发送到另一台服务器。</p>
<p>通常,这是通过提交表单并上传文件并将相同的文件作为表单数据发送到 Curl PHP 端点来完成的,但在这种情况下,我的服务器上已经有了该文件,并且我陷入了如何获取的部分该文件并创建其表单数据数组并将 API Url 作为 post 方法发送。</p>
<p>下面是我正在尝试的某种程序。其中之一是创建一个 tmp 文件并在其中存储数据,并将该数据从 tmp 位置发送到curl 表单数据。</p>
<p>$source = file_get_contents("https://url/employee_manual3.pdf");</p>
<pre class="brush:php;toolbar:false;">$tempFile = tempnam(sys_get_temp_dir(), 'File_');
rename($tempFile, $tempFile .= '.pdf');
file_put_contents($tempFile, $source);
// var_dump($tempFile);
// exit;
// $post = array(
// "uploadedFile" => "@" . $tempFile, //"@".$tempFile.";type=application/pdf",
// );
// var_dump(file_get_contents($tempFile));
// var_dump(new CURLFILE($tempFile));
// exit;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://API_URL',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('file' => new CURLFILE($tempFile)),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer API TOKEN HAI MERA',
'Content-Type: multipart/form-data',
'Cookie: MAIN NAHI BATAUNGA'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;</pre>
<pre class="brush:php;toolbar:false;"></pre></p>
嗨,您可以查看下面的答案,了解我是如何成功实现这一目标的。