使用cURL上傳帶有文件的POST數據
P粉541796322
P粉541796322 2023-08-21 12:39:00
0
2
453
<p>我想使用cURL不僅可以在HTTP POST中傳送資料參數,還可以上傳具有特定表單名稱的檔案。我該如何做到這一點? </p> <p>HTTP POST參數:</p> <p>userid = 12345 filecomment = 這是一個圖片檔案</p> <p>HTTP檔上傳: 檔案位置 = /home/user1/Desktop/test.jpg 檔案的表單名稱 = image(對應PHP端的$_FILES['image'])</p> <p>我已經找到了cURL指令的一部分,如下所示:</p> <pre class="brush:php;toolbar:false;">curl -d "userid=1&filecomment=這是一個圖片檔案" --data-binary @"/home/user1/Desktop/test.jpg " localhost/uploader.php</pre> <p>我遇到的問題如下:</p> <pre class="brush:php;toolbar:false;">注意:在/var/www/uploader.php中未定義索引:image</pre> <p>問題是我在PHP腳本中使用$_FILES['image']來接收檔案。 </p> <p>我該如何相應地調整我的cURL指令? </p>
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 <name=content> 指定HTTP多部分POST資料 (H)

請嘗試以下內容:

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