使用cURL上傳帶有文件的POST數據
P粉541796322
P粉541796322 2023-08-21 12:39:00
0
2
357

我想使用cURL不僅可以在HTTP POST中傳送資料參數,還可以上傳具有特定表單名稱的檔案。我該如何做到這一點?

HTTP POST參數:

userid = 12345 filecomment = 這是一個圖片檔案

HTTP檔上傳: 檔案位置 = /home/user1/Desktop/test.jpg 檔案的表單名稱 = image(對應PHP端的$_FILES['image'])

我已經找到了cURL指令的一部分,如下所示:

curl -d "userid=1&filecomment=這是一個圖片檔案" --data-binary @"/home/user1/Desktop/test.jpg " localhost/uploader.php

我遇到的問題如下:

注意:在/var/www/uploader.php中未定義索引:image

問題是我在PHP腳本中使用$_FILES['image']來接收檔案。

我該如何相應地調整我的cURL指令?

P粉541796322
P粉541796322

全部回覆 (2)
P粉189606269

將使用者id作為路徑變數捕獲(建議):

curl -i -X POST -H "Content-Type: multipart/form-data" -F "data=@test.mp3" http://mysuperserver/media/1234/upload/

將使用者id作為表單的一部分捕獲:

curl -i -X POST -H "Content-Type: multipart/form-data" -F "data=@test.mp3;userid=1234" http://mysuperserver/media/upload/

或:

curl -i -X POST -H "Content-Type: multipart/form-data" -F "data=@test.mp3" -F "userid=1234" http://mysuperserver/media/upload/
    P粉621033928

    您需要使用-F選項:
    -F/--form 指定HTTP多部分POST資料 (H)

    請嘗試以下內容:

    curl \ -F "userid=1" \ -F "filecomment=这是一个图片文件" \ -F "image=@/home/user1/Desktop/test.jpg" \ localhost/uploader.php
      最新下載
      更多>
      網站特效
      網站源碼
      網站素材
      前端模板
      關於我們 免責聲明 Sitemap
      PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!