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

时间:2019-04-16 18:23:54

标签: php php-curl

我正在尝试通过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

1 个答案:

答案 0 :(得分:0)

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