Laden Sie POST-Daten mit Dateien mithilfe von cURL hoch
P粉541796322
P粉541796322 2023-08-21 12:39:00
0
2
384
<p>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? </p> <p>HTTP-POST-Parameter: </p> <p>userid = 12345 filecomment = Dies ist eine Bilddatei</p> <p>HTTP-Datei-Upload: Dateispeicherort = /home/user1/Desktop/test.jpg Der Formularname der Datei = Bild (entspricht $_FILES['image'] auf der PHP-Seite)</p> <p>Ich habe einen Teil des cURL-Befehls wie folgt gefunden: </p> <pre class="brush:php;toolbar:false;">curl -d "userid=1&filecomment=Dies ist eine Bilddatei" --data-binary @"/home/user1/Desktop/test.jpg " localhost/uploader.php</pre> <p>Das Problem, auf das ich gestoßen bin, ist wie folgt:</p> <pre class="brush:php;toolbar:false;">Hinweis: Undefinierter Index in /var/www/uploader.php: image</pre> <p>Das Problem ist, dass ich $_FILES['image'] im PHP-Skript verwende, um die Datei zu empfangen. </p> <p>Wie soll ich meine cURL-Befehle entsprechend anpassen? </p>
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 <name=content> 指定HTTP多部分POST数据 (H)

请尝试以下内容:

curl \
  -F "userid=1" \
  -F "filecomment=这是一个图片文件" \
  -F "image=@/home/user1/Desktop/test.jpg" \
  localhost/uploader.php
Beliebte Tutorials
Mehr>
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!