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

Linda Hamilton
リリース: 2024-11-09 17:08:02
オリジナル
836 人が閲覧しました

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

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

PHP のフォーム POST からファイルのアップロードを処理する場合、次の方法を理解することが重要です。 cURL を利用してファイルを送信します。通常、フォームのマークアップには、enctype="multipart/form-data" のファイル入力フィールドが含まれています。

POST リクエストで cURL を使用してファイルを送信するには、次の方法を使用します。

  1. ファイル パスを取得します: $_FILES'image' を使用してサーバー上の一時ファイル パスを取得します。
  2. cURL パラメータを準備します: ファイルを使用して配列を構築します詳細。例:
$post = array(
    'image' => '@' . $_FILES['image']['tmp_name']
);
ログイン後にコピー
  1. cURL の初期化:

    $ch = curl_init();
    ログイン後にコピー
  2. cURL オプションの設定:

    curl_setopt($ch, CURLOPT_URL, 'http://example.com/curl_receiver.php');
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    ログイン後にコピー
  3. リクエストを実行します:

    curl_exec($ch);
    ログイン後にコピー
  4. cURL を閉じる:

    curl_close($ch);
    ログイン後にコピー

受信側では、curl_receiver.php のようなスクリプトでファイルを受信できます。

if (isset($_FILES['image'])) {
    move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'.$_FILES['image']['name']);
}
?>
ログイン後にコピー

例:

フォーム:

<form action="script.php" method="post" enctype="multipart/form-data">
    <input type="file" name="image" />
    <input type="submit" name="upload" value="Upload" />
</form>
ログイン後にコピー

スクリプト (script.php):

if (isset($_POST['upload'])) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://example.com/curl_receiver.php');
    curl_setopt($ch, CURLOPT_POSTFIELDS, array(
        'image' => '@' . $_FILES['image']['tmp_name']
    ));
    curl_exec($ch);
    curl_close($ch);
}
ログイン後にコピー

レシーバー スクリプト (curl_receiver.php):

if (isset($_FILES['image'])) {
    move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'.$_FILES['image']['name']);
}
ログイン後にコピー

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート