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!

Previous Article

Magento 2: Add Tooltip in ui_component Form Field

Next Article

Magento 2 Extensions Digest December 2022 (New Release & Updates)

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Get Connect With Us

Subscribe to our email newsletter to get the latest posts delivered right to your email.
Pure inspiration, zero spam ✨