之前咱们经过 PHP 的 cURL 上传文件是,是使用“@+文件全路径”的来实现的:php
curl_setopt(ch, CURLOPT_POSTFIELDS, array( 'file' => '@'.realpath('image.png'), ));
PHP 从 5.5 开始引入了新的 CURLFile 类用来指向文件,CURLFile 类也能够详细定义 MIME 类型、文件名等可能出如今multipart/form-data 数据中的附加信息,PHP 推荐使用 CURLFile 替代旧的@语法,而 PHP 5.6 直接只支持 CURLFile 方法。curl
真的是让我欲哭无泪,我调试了 2天2夜,也怪我装逼必定要升级到 PHP5 的最新版,因此 PHP 5.6 使用 CURL 上传文件的代码:url
curl_setopt(ch, CURLOPT_POSTFIELDS, [ 'file' => new CURLFile(realpath('image.png')), ]);