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

如何從 PHP 表單 POST 透過 cURL 發送檔案?

Linda Hamilton
發布: 2024-11-09 09:16:02
原創
739 人瀏覽過

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

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

處理來自表單貼文的檔案上傳是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_UPLOAD:1(表示請求包含文件包含文件)
  • CURLOPT_INFILE:上傳到伺服器的臨時檔案的檔案指標
  • CURLOPT_INFILESIZE :檔案的大小(以位元組為單位)

這是傳送檔案的範例片段:
$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中文網其他相關文章!

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