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

Linda Hamilton
發布: 2024-11-09 17:08:02
原創
837 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板