Laden Sie POST-Daten mit Dateien mithilfe von cURL hoch
P粉541796322
P粉541796322 2023-08-21 12:39:00
0
2
345

Ich möchte cURL nicht nur zum Senden von Datenparametern in HTTP POST verwenden, sondern auch zum Hochladen einer Datei mit einem bestimmten Formularnamen. Wie kann ich das machen?

HTTP-POST-Parameter:

userid = 12345 filecomment = Dies ist eine Bilddatei

HTTP-Datei-Upload: Dateispeicherort = /home/user1/Desktop/test.jpg Der Formularname der Datei = Bild (entspricht $_FILES['image'] auf der PHP-Seite)

Ich habe einen Teil des cURL-Befehls wie folgt gefunden:

curl -d "userid=1&filecomment=Dies ist eine Bilddatei" --data-binary @"/home/user1/Desktop/test.jpg " localhost/uploader.php

Das Problem, auf das ich gestoßen bin, ist wie folgt:

Hinweis: Undefinierter Index in /var/www/uploader.php: image

Das Problem ist, dass ich $_FILES['image'] im PHP-Skript verwende, um die Datei zu empfangen.

Wie soll ich meine cURL-Befehle entsprechend anpassen?

P粉541796322
P粉541796322

Antworte allen (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
      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!