ホームページ >バックエンド開発 >PHPチュートリアル >PHP フォーム POST から cURL 経由でファイルを送信するにはどうすればよいですか?

PHP フォーム POST から cURL 経由でファイルを送信するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-09 09:16:02681ブラウズ

How to Send a File via cURL from a PHP Form POST?

PHP のフォーム POST から cURL 経由でファイルを送信

フォーム ポストからのファイル アップロードの処理は、API 開発の一般的なタスクです。この質問では、PHP スクリプトを使用して cURL 経由でファイルを送信する方法について説明します。

HTML フォームには、ファイル アップロード入力フィールドが含まれています。

<form action="script.php" method="post" enctype="multipart/form-data">
  <input type="file" name="image">
  <input type="submit" name="upload" value="Upload">
</form>

サーバー側 PHP スクリプト (script.php) ) 最初に「アップロード」ボタンがクリックされたかどうかを確認します:

if (isset($_POST['upload'])) {
  // Handle file upload with cURL
}

cURL でファイルを送信するには、次のパラメータを設定する必要があります:

  • CURLOPT_URL: の URLリモート ファイルのアップロード先
  • CURLOPT_UPLOAD: 1 (リクエストにファイル アップロードが含まれていることを示します)
  • CURLOPT_INFILE: サーバーにアップロードされた一時ファイルのファイル ポインタ
  • CURLOPT_INFILESIZE : ファイルのサイズ (バイト単位)

ファイルを送信するサンプル cURL コード スニペットは次のとおりです:

$localFile = $_FILES['image']['tmp_name']; 
$url = "https://example.com/file_upload.php";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('file' => '@' . $localFile);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);

受信側では、スクリプトがファイルのアップロードとそれに応じて保管してください。以下に例を示します:

$file = $_FILES['file'];
$fileName = $file['name'];
$fileTmpName = $file['tmp_name'];
move_uploaded_file($fileTmpName, '/path/to/uploads/' . $fileName);

以上がPHP フォーム POST から cURL 経由でファイルを送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。