图像上传CURL命令到PHP Curl

use*_*019 8 php curl libcurl image-upload

我是PHP CURL的新手,并试图调用API来进行图像上传(一次多个文件).API文档在CURL中给出了以下示例.我已经测试过,它正在运行.

curl -H "Authorization: Bearer 123456789" -i -X POST -F "whitespace=1" \
 -F "imageData[]=@/path/to/images/milk.jpg" \
 -F "imageData[]=@/path/to/images/peas.jpg" \
 https://mytestapi.com/1.0/uploadimages
Run Code Online (Sandbox Code Playgroud)

现在我需要将其转换为PHP Curl.出于某种原因,我总是得到错误"imageData"param无效.有人可以请帮助

$token = '123456789';
$imgUrl = 'https://mytestapi.com/1.0/uploadimages';


$data_to_post = array();
$data_to_post['whitespace'] = '1';
$data_to_post['imageData[]'] = '@/path/to/images/milk.jpg';
$data_to_post['imageData[]'] = '@/path/to/images/peas.jpg';


$curl = curl_init($imgUrl);
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer '.$token]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl,CURLOPT_POST, 1);
curl_setopt($curl,CURLOPT_POSTFIELDS, $data_to_post);
$data = json_decode(curl_exec($curl));
$responseCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

var_dump($data);
Run Code Online (Sandbox Code Playgroud)

use*_*019 3

我自己解决了这个问题。必须使用 php curl file create 才能使其工作,而不是附加“@”

http://www.php.net/manual/es/function.curl-file-create.php