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?
将用户id作为路径变量捕获(推荐):
将用户id作为表单的一部分捕获:
或者:
您需要使用
-F
选项:-F/--form 指定HTTP多部分POST数据 (H)
请尝试以下内容: