POST 数据中的 CURLFile 对象使我的请求失败

CURLFile object in POST data is making my request fail

我正在尝试通过 php 中的 curl 将图像文件发送到 API,但是当我尝试向我的请求提供我需要的文件时,当我调用 curl_exec就可以了。

我提供给文件的路径是有效的,我在创建 CURLFile 对象时使用了 var_dump,看起来没问题。当调用 curl_exec 时,请求立即失败并且 returns 为假。但是,如果我用 CURLOPT_POSTFIELDS 中的字符串替换 CURLFile 对象,请求将完美运行。

$ch = curl_init('http://localhost/test/test.php');
$curlfile = new CURLFile($path,'image/png','image');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,array('image' => $curlfile));
curl_exec($curl);//Returns false
$ch = curl_init('http://localhost/test/test.php');
$curlfile = new CURLFile($path,'image/png','image');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,array('image' => "somestring"));
curl_exec($curl);//Returns true

CURLFile 构造函数需要我文件的完整路径,使用 realpath() 解决了我的问题。