我想使用 cURL 不仅可以在 HTTP POST 中发送数据参数,还可以上传具有特定表单名称的文件。我应该怎么做呢?
HTTP Post 参数:
userid = 12345 filecomment = 这是一个图像文件
HTTP文件上传:文件位置=/home/user1/Desktop/test.jpg 文件的表单名=图片(对应PHP端的$_FILES[‘image’])
我认为 cURL 命令的一部分如下:
curl -d "userid=1&filecomment=This is an image file" --data-binary @"/home/user1/Desktop/test.jpg" localhost/uploader.php
我遇到的问题如下:
Notice: Undefined index: image in /var/www/uploader.php
问题是我正在使用 $_FILES[‘image’] 来获取 PHP 脚本中的文件。
如何相应地调整我的 cURL 命令?
您需要使用以下-F选项: -F/--form <name=content> Specify HTTP multipart POST data (H)
-F
-F/--form <name=content> Specify HTTP multipart POST data (H)
尝试这个:
curl \ -F "userid=1" \ -F "filecomment=This is an image file" \ -F "image=@/home/user1/Desktop/test.jpg" \ localhost/uploader.php