サーバーに保存された PDF ファイルを Curl PHP フォーム データ経由で別のサーバーに送信する
P粉521748211
2023-08-31 12:44:11
<p>サーバーに保存されている PHP ファイルを、Curl PHP フォーム データ メソッドを介して別のサーバーに送信しようとしています。 </p>
<p>通常、これはフォームを送信してファイルをアップロードし、同じファイルをフォームデータとして Curl PHP エンドポイントに送信することによって行われますが、この場合、サーバー上にファイルがすでに存在するため、その方法の部分で立ち往生しました。ファイルを取得してそのフォーム データ配列を作成し、API URL をポスト メソッドとして送信します。 </p>
<p>以下は私が試しているある種のプログラムです。そのうちの 1 つは、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);
//出口;
// $post = 配列(
// "uploadedFile" => "@" . $tempFile, //"@" .$tempFile.";type=application/pdf",
// );
// var_dump(file_get_contents($tempFile));
// var_dump(new CURLFILE($tempFile));
//出口;
$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 => 配列(
'認可: Bearer API TOKEN HAI MERA',
'Content-Type: multipart/form-data',
「クッキー:メイン・ナヒ・バタウンガ」
)、
));
$response =curl_exec($curl);
curl_close($curl);
echo $response;</pre>
<pre class="brush:php;toolbar:false;"></pre></p>
こんにちは。私がどのようにしてこれを達成したかについては、以下の回答をご覧ください。
リーリー