首頁 >後端開發 >php教程 >如何在 PHP 中透過 cURL 從表單 POST 傳送檔案?

如何在 PHP 中透過 cURL 從表單 POST 傳送檔案?

Linda Hamilton
Linda Hamilton原創
2024-11-09 17:08:02903瀏覽

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

透過cURL 從PHP 中的表單POST 傳送檔案

在PHP 中處理從表單POST 上傳檔案時,必須了解如何使用cURL發送文件。表單標記通常包含一個帶有 enctype="multipart/form-data" 的檔案輸入欄位。

要使用帶有POST 請求的cURL 發送文件,請使用以下方法:

  1. 取得檔案路徑:使用$_FILES'image'取得臨時文件路徑server.
  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);

if (isset($_FILES['image'])) {
    move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'.$_FILES['image']['name']);
}
?>
在接收端,像curl_receiver.php這樣的腳本可以接收文件:

示例:

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

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);
}
腳本(script.php):

if (isset($_FILES['image'])) {
    move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/'.$_FILES['image']['name']);
}
接收器腳本(curl_receiver.php):

以上是如何在 PHP 中透過 cURL 從表單 POST 傳送檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn