Site icon MageComp Blog

Magento 2: How to Move Specific Extension Image Files to Magento Media Folder Programmatically?

How to Move Specific Extension Image Files to Magento Media Folder Programmatically

Hello Magento Friends,

In today’s blog, I will give you the solution for How to Move Specific Extension Image Files to Magento Media Folder Programmatically in Magento 2.

Images are an integral part of a website. If you want to move specific image files to the media folder in Magento 2, you can do it programmatically.

Steps to Move Specific Extension Image Files to Magento Media Folder Programmatically in Magento 2:

Here we will use the root script to move specific extension image files to the Magento media folder programmatically in Magento 2.

Step 1: Create a file in your Magento root directory at the below path

magento_root_directory\Moveimagefile.php

Now add the code as follows

<?php
use Magento\Framework\AppInterface;
try
{
    require_once __DIR__ . '/app/bootstrap.php';
} 
catch (\Exception $e) 
{
    echo 'Autoload error: ' . $e->getMessage();
    exit(1);
}
try
{
	$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
	$objectManager = $bootstrap->getObjectManager();
	$appState = $objectManager->get('\Magento\Framework\App\State');
	$appState->setAreaCode('frontend');
		
 	$directoty = $objectManager->get('Magento\Framework\Filesystem\Io\File');
        $Dirreader = $objectManager->get('Magento\Framework\Module\Dir\Reader');
	$viewDir = $Dirreader->getModuleDir(
                \Magento\Framework\Module\Dir::MODULE_VIEW_DIR,
                'Vendor_Extension'
            );
	$filesystem=$objectManager->get('Magento\Framework\Filesystem');
 	 	
 	$srcDir=$viewDir.'/Customfoldername';
 	$reader = $filesystem->getDirectoryRead(\Magento\Framework\App\Filesystem\DirectoryList::MEDIA);
        $destDir = $reader->getAbsolutePath('/Customfoldername');
        
         if (file_exists($destDir))
         {
  		if (is_dir($destDir)) 
  		{
    			if (is_writable($destDir)) 
    			{
      				if ($handle = opendir($srcDir)) 
      				{
       			         	while (false !== ($file = readdir($handle))) 
       			                {
		 			 	if (is_file($srcDir . '/' . $file)) 
		 			 	{
		   					rename($srcDir . '/' . $file, $destDir . '/' . $file);
		  			 	}
        			 	}
       		 			closedir($handle);
       		 			echo "All Images is Move Successfully";
      				} 
      				else 
      				{
       					echo "$srcDir could not be opened.\n";
     				}
    			} 
    			else
    			{
     				 echo "$destDir is not writable!\n";
   			}
  	     } 
  	     else 
  	     {
   		 echo "$destDir is not a directory!\n";
  	     }
	} 
	else 
	{
  		echo "$destDir does not exist\n";
	} 	
}
catch(\Exception $e)
{
	echo "Error : ".$e->getMessage();
}
?>

Conclusion:

Hence, this way, you can Move Specific Extension Image Files to Magento Media Folder Programmatically in Magento 2. To improve store performance, you Optimize Images of your Magento 2 store.

Stay updated with us!

Happy Coding!

Exit mobile version