I have created a php file to assign the base_image, small_image, Thumbnail_image using below script.
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$state = $objectManager->get('Magento\Framework\App\State');
$state->setAreaCode('frontend');
$productRepository = $objectManager->get('Magento\Catalog\Model\ProductRepository');
$csv = "local_alain.csv";
if (!empty($argv) && sizeof($argv) > 1) { $csv = $argv[1]; }
if (($handle = fopen($csv, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 2000, "\t")) !== FALSE) {
$num = count($data);
if ($num < 1) { continue;}
$sku = explode(',',trim($data[0]));
$imagePath = $sku[1];
try {
$product = $productRepository->get($sku[0]);
$productId = $product->getId();
$product->addImageToMediaGallery($imagePath, array('image', 'small_image', 'thumbnail'), false, false);
$product->save();
} catch (\Exception $e) {
echo $e->getMessage()."</br>";
continue;
}
}
fclose($handle);
}
My csv file( in this csv file i am updating the actual image path of the image which want to be assigned as base_image, small_image, Thumbnail_image, These images are already uploaded to products. This image paths are getting from the product export csv)
Beauty Care Product,/1/6/16-02-08651_1.jpeg
Vitamin Products,/1/6/16-02-05659_1.jpeg
Sports Nutrition Product,/1/6/16-02-05659_1_1.jpege
But i am getting an error of
Path "/1/6/16-02-05659_1_1.jpeg" cannot be used with directory "/Applications/MAMP/htdocs/alain-ecom/pub/media/"
How can i fix this issue?