0

我正在尝试通过 php 中的 curl 将图像文件发送到 API,但是当我尝试向我的请求提供我需要的文件时,当我在其上调用 curl_exec 时它会继续失败。

我提供给文件的路径是有效的,我在创建它时在我的 CURLFile 对象上使用了 var_dump,它看起来很好。当 curl_exec 被调用时,请求立即失败并返回 false。但是,如果我用 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
4

1 回答 1

0

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

于 2019-04-16T18:57:57.740 回答