我想使用cURL不仅可以在HTTP POST中发送数据参数,还可以上传具有特定表单名称的文件。我该如何做到这一点?
HTTP POST参数:
userid = 12345 filecomment = 这是一个图片文件
HTTP文件上传: 文件位置 = /home/user1/Desktop/test.jpg 文件的表单名称 = image(对应于PHP端的$_FILES['image'])
我已经找到了cURL命令的一部分,如下所示:
curl -d "userid=1&filecomment=这是一个图片文件" --data-binary @"/home/user1/Desktop/test.jpg" localhost/uploader.php
我遇到的问题如下:
注意:在/var/www/uploader.php中未定义索引:image
问题是我在PHP脚本中使用$_FILES['image']来接收文件。
我应该如何相应地调整我的cURL命令?
将用户id作为路径变量捕获(推荐):
将用户id作为表单的一部分捕获:
或者:
您需要使用
-F
选项:-F/--form 指定HTTP多部分POST数据 (H)
请尝试以下内容: