How To

Magento 2: 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!

Click to rate this post!
[Total: 2 Average: 5]
Dhiren Vasoya

Dhiren Vasoya is a Director and Co-founder at MageComp, Passionate ?️ Certified Magento Developer?‍?. He has more than 9 years of experience in Magento Development and completed 850+ projects to solve the most important E-commerce challenges. He is fond❤️ of coding and if he is not busy developing then you can find him at the cricket ground, hitting boundaries.?

Recent Posts

Generating Thumbnails with Spatie Media Library in Laravel 11: A Step-by-Step Guide

Generating image thumbnails is a common requirement in web applications, especially when handling media-heavy content.…

7 hours ago

Enhancing Web Application Security with Laravel’s Built-In Features

In today’s digital landscape, web application security is paramount. As a powerful PHP framework, Laravel…

1 day ago

Magento 2 Extensions Digest October 2024 (New Release & Updates)

October was an exciting month for MageComp! From significant updates across our Magento 2 extension…

1 day ago

Improving Error Handling and Transition Management in Remix with useRouteError and useViewTransitionState

In modern web development, seamless navigation and state management are crucial for delivering a smooth…

1 week ago

Magento Open Source 2.4.8-Beta Release Notes

Magento Open Source 2.4.8 beta version released on October  8, 2024. The latest release of…

1 week ago

How to Create Catalog Price Rule in Magento 2 Programmatically?

Hello Magento Friends, Creating catalog price rules programmatically in Magento 2 can be a valuable…

2 weeks ago