Prestashop 1.7不通过cUrl导入产品图像

时间:2017-06-29 19:26:13

标签: php web-services curl prestashop prestashop-1.7

我尝试使用prestashop dev's example上传产品图片。

这是我的代码:

$image_path = 'http://www.naminukas.lt/out/pictures/master/straipsniai/thumb/skalbimo_masinos_pelesis.jpg';
$url = 'http://46.101.240.63/api/images/products/198';
$key = 'myapicode';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
//curl_setopt($ch, CURLOPT_PUT, true); // Un-commet to edit an image
curl_setopt($ch, CURLOPT_USERPWD, $key.':');
curl_setopt($ch, CURLOPT_POSTFIELDS, array('image' => '@'.$image_path));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);

然后我尝试使用HTML代码上传,它的作品

<form enctype="multipart/form-data" method="POST" action="http://eWURcnNJ6mbLUHB10EEIzTZsTShs33IX@myprestahop.com/api/images/products/1">
<fieldset>
    <legend>Add image for products No 1</legend>
    <input type="file" name="image">
    <input type="submit" value="Execute">
</fieldset>
</form>

但是使用curl并没有收到错误66,无法上传此图片。

你有什么想法吗?

P.S:我使用的是PHP 7.0版本。

1 个答案:

答案 0 :(得分:0)

您遇到SSl错误: https://curl.haxx.se/libcurl/c/libcurl-errors.html

尝试添加这些行以忽略证书和ssl相关警告。 curl_setopt($ ch,CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ ch,CURLOPT_SSL_VERIFYPEER,0);