The product id is given to which multiple images need to be added in magento.
$count = 0;
$imgArray = array($fpath.'configurable.png');
foreach ($imgArray as $image){
$imgUrl = _save_image( $image,$objectManager );
if ($count == 0){
$configProduct->addImageToMediaGallery( $imgUrl , $mediaAttribute, true, false );
}else {
$configProduct->addImageToMediaGallery( $imgUrl , null, true, false );
}
$count++;
}
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->create('Magento\Catalog\Model\Product')->load($productId); // Load product object
$mediaAttribute = array ('thumbnail','small_image','image');
$mediaDir = $objectManager->get('Magento\Framework\App\Filesystem\DirectoryList')->getPath('media');// Im Magento 2
$mediaDir = Mage::getBaseDir('media');// In Magento 1
//Case 1: When image files are alredy in your server
$fpath = 'product/images/';// path to your file
$count = 0;
$imgArray = array('image1.png','image2.png','image3.png','image4.png');
foreach ($imgArray as $image){
$imgUrl = _save_image( $fpath.$image,$objectManager,$mediaDir );// copies the file from your local storage to your-magento-root-path/pub/media
if ($count == 0){
$product->addImageToMediaGallery( $imgUrl , $mediaAttribute, true, false );
}else {
$product->addImageToMediaGallery( $imgUrl , null, true, false );
}
$count++;
}
function _save_image($img,$objectManager,$mediaDir) {
$imageFilename = basename($img);
$image_type = substr(strrchr($imageFilename,"."),1); //find the image extension
$filename = md5($img . strtotime('now')).'.'.$image_type; //give a new name, you can modify as per your requirement
if (!file_exists($mediaDir)) mkdir($mediaDir, 0777, true);
else chmod($mediaDir, 0777);
$filepath = $mediaDir . '/'. $filename; //path for temp storage folder: pub/media
file_put_contents($filepath, file_get_contents(trim($img))); //store the image from external url to the temp storage folder
return $filepath;
}
//Case 2: When you have to browse images from a form. (Then save into your server and then )
if(!empty($imageFile)){
$count = 0;
if (!file_exists($mediaDir)) mkdir($mediaDir, 0777, true);
else chmod($mediaDir, 0777);
foreach($imageFile['name'] as $k2=>$v2){
if($imageFile['error'][$k2] == 0 && file_exists($imageFile['tmp_name'][$k2])){
$ext[$k2] = pathinfo($imageFile['name'][$k2], PATHINFO_EXTENSION);
$filename[$k2] = md5(strtotime('now')).'.'.$ext[$k2];
$filepath[$k2] = $mediaDir .'/'. $filename[$k2];
$bin_string[$k2] = file_get_contents($imageFile['tmp_name'][$k2]);
file_put_contents($filepath[$k2], $bin_string[$k2]);
if ($count == 0) :
$product[$k]->addImageToMediaGallery( $filepath[$k2] , $mediaAttribute, true, false );
else :
$product[$k]->addImageToMediaGallery( $filepath[$k2] , null, true, false );
endif;
$count++;
}
}
}