PHP, Cargar imágenes en un producto en Prestashop

Script para añadir imágenes desde php a un producto en prestashop, para cargas masivas de productos, etc. Una manera fácil y rápida de cargarlas en una función

Ejemplo de como cargar imágenes a un producto de  prestashop:

Las variables $pid: se refiere al id del producto en la tabla de la base de datos, y $imagenes: la url de la imagen a cargar. Para insertar varias imágenes solo hace falta llamar a esta función las veces que se quiera con las imágenes que se quieren añadir.

Detecta si es la primera imagen es la primera que tiene el producto y la asigna como principal ( $image->cover = true )

<?php

include_once 'config/config.inc.php';
include(dirname(__FILE__).'/init.php');

    /*
    *
    *   pid = id del producto.
    *   $imagenes = url de la imagen.
    *
    */

    function IMAGENES($pid,$imagenes){

    $product    = new Product($pid);
    $image      = new Image();
    
    $image->id_product = intval($product->id);
    $image->position = Image::getHighestPosition($product->id) + 1;
    if(Image::getImagesTotal($product->id)>0)
        $image->cover = false;
    else
        $image->cover = true;
    $languages = Language::getLanguages();
    foreach ($languages as $language)
         $image->legend[$language['id_lang']] = 'Click to view';
    $id_image = $image->id;
    $image->add();
    $tmpName = tempnam(_PS_IMG_DIR_, 'PS');
    
    copy($imagenes,$tmpName);
    
    $new_path = $image->getPathForCreation();
    ImageManager::resize($tmpName, $new_path.'.'.$image->image_format);
    $imagesTypes = ImageType::getImagesTypes('products');
        foreach ($imagesTypes as $imageType)
    ImageManager::resize($tmpName, $new_path.'-'.stripslashes($imageType['name']).'.'.$image->image_format, $imageType['width'], $imageType['height'], $image->image_format);

}