如何使用网络服务prestashop删除图像


How to delete images with web service prestashop

嗨,就像标题中说的那样,我不知道如何删除图像。我可以添加和更新它们,但我找不到删除它们的方法。

这是我用来更新和添加图像的代码:

        $idProduct = 54;
        $idImage = 26;
        //$url = "http://192.168.1.124/prestashop/api/images/products/" . $idProducto . "/"; //Uncomment this line to add an image
        $url = "http://192.168.1.124/prestashop/api/images/products/" . $idProduct . "/".$idImage."?ps_method=PUT";
        $image_path = 'C:''camisa2.jpg';
        $key = 'XXXXXXXXXXXXXXXXXXX'; //Prestashop key
        $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.';type=image/jpg'));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec($ch);
        curl_close($ch);

        echo "<h3>Image Updated</h3>";

任何帮助都将不胜感激。

问候

试试这个:

$url = "http://192.168.1.124/prestashop/api/images/products/" . $idProduct . "/".$idImage."?ps_method=DELETE";

我在Prestashop Web服务库中发现了一个删除对象的示例。希望它能帮助你:

// Here we define constants /!' You need to replace this parameters
define('DEBUG', true);
define('PS_SHOP_PATH', 'http://www.myshop.com/');
define('PS_WS_AUTH_KEY', 'ZQ88PRJX5VWQHCWE4EE7SQ7HPNX00RAJ');
require_once('./PSWebServiceLibrary.php');
if (isset($_GET['DeleteID']))
{
    //Deletion
    echo '<h1>Customers Deletion</h1><br>';
    // We set a link to go back to list
    echo '<a href="?">Return to the list</a>';
    try
    {
        $webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG);
        // Call for a deletion, we specify the resource name and the id of the resource in order to delete the item
        $webService->delete(array('resource' => 'customers', 'id' => intval($_GET['DeleteID'])));
        // If there's an error we throw an exception
        echo 'Successfully deleted !<meta http-equiv="refresh" content="5"/>';
    }
    catch (PrestaShopWebserviceException $e)
    {
        // Here we are dealing with errors
        $trace = $e->getTrace();
        if ($trace[0]['args'][0] == 404) echo 'Bad ID';
        else if ($trace[0]['args'][0] == 401) echo 'Bad auth key';
        else echo 'Other error<br />'.$e->getMessage();
    }
}
else
{
    // Else get customers list
}

来源:Prestashop网络服务示例