使⽤CURL上传⽂件
近⽇再使⽤⼀个第三⽅接⼝的时候,使⽤curl调⽤⼀个上传⽂件的接⼝。
再多次失败后,终于到了真经
curl命令发送post请求带参数⾔归正传~
PHP的cURL⽀持通过给CURL_POSTFIELDS传递关联数组(⽽不是字符串)来⽣成multipart/form-data的POST请求。
PHP的cURL⽀持通过在数组数据中,使⽤“@+⽂件全路径”的语法附加⽂件,供cURL读取上传。
这与命令⾏直接调⽤cURL程序的语法是⼀致的:
curl_setopt(ch, CURLOPT_POSTFIELDS, array(
'file' => '@'.realpath('test.jpg'),
));
equals
$ curl -F "file=@/some/path/test.jpg"
php5.5开始引⼊了新的CURLFile类⽤来指向⽂件。CURLFile类也可以详细定义MIME类型、⽂件名等可能出现在multipart/form-data数据中的附加信息。推荐使⽤CURLFile替代旧的@语法:
curl_setopt(ch, CURLOPT_POSTFIELDS, [
'file' => new CURLFile(realpath('image.png')),
]);
使⽤CURL上传⽂件
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论