透過 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>
嗨,您可以查看下面的答案,了解我是如何成功實現這一目標的。