Read image from third party FTP url and assign to products which having blank image

<?php
require_once('app/Mage.php');
umask(0);
Mage::app();

try{
   
    $gall = array();
    $gall_b = array();

    $products = Mage::getModel('catalog/product')
    ->getCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter(array(array (
            'attribute' => 'image',
            'like' => 'no_selection'
        ),
        array (
            'attribute' => 'image', // null fields
            'null' => true
        ),
        array (
            'attribute' => 'image', // empty, but not null
            'eq' => ''
        ),
        array (
            'attribute' => 'image', // check for information that doesn't conform to Magento's formatting
            'nlike' => '%/%/%'
        )));

    echo '<pre>';
   
    foreach($products as $product)
    {
        $gallery = $product->getMediaGalleryImages();
       
        if(!empty($gallery)){
            $gall[$product->getSku()] = count($gallery).' - '.$product->getName();
        }
        else{
            //$gall_b[$product->getSku()] = count($gallery).' - '.$product->getName();
            $gall_b[$product->getSku()] = $product->getName();
        }
    }

    $blank_img = array_merge($gall_b,$gall);
    asort($blank_img);
   
    //print_r($blank_img);
    //print_r(array_slice($blank_img, 0, 10));
    //$temparr = array_slice($blank_img, 20, 10);
   
    //foreach ($temparr as $key=>$item)
    foreach ($blank_img as $key=>$item)
    {
        $sku = substr($key,2);
        //echo $sku.' : '.$item .'<br>';
       
        download_image($sku);
    }
   
    Mage::log($blank_img, null, 'empty_images.log');       
}
catch(Exception $e)
{
    echo 'Exception Occured = '.$e;
}

function download_image($sku)
{
    //    $host = 'ginkgo.unfi.com';
    //    $user = 'daily_file_access';
    //    $pwd  = 'dafiftp01!';
   
    //$remote_file_path = 'ftp://ginkgo.unfi.com/HG_Image_Library/1072651.jpg';
    $remote_file_path = 'ftp://ginkgo.unfi.com/HG_Image_Library/'.$sku.'.jpg';
    $local_file_path = '/var/www/vhosts/sbu2.magentoprojects.net/httpdocs/nhm/media/catalog/product/isimages/HG'.$sku.'.jpg';
   
    $curl_handler = curl_init($remote_file_path);
    curl_setopt($curl_handler, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl_handler, CURLOPT_USERPWD, 'daily_file_access:dafiftp01!');
    $rawdata = curl_exec($curl_handler);
    curl_close($curl_handler);
   
    /*if(file_exists($local_file_path)){
      unlink($local_file_path);
    }*/
   
    if($rawdata)
    {
        $fp = fopen($local_file_path,'x');
        fwrite($fp, $rawdata);
        fclose($fp);   

        //echo '<br/>Found Here: '.$remote_file_path;
        $imagepath = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'catalog/product/isimages/HG'.$sku.'.jpg';
        echo '<br/>File Copied Here : '.$imagepath;
       
        $product = Mage::getModel('catalog/product')->loadByAttribute('sku', 'HG'.$sku);
        //$product->addImageToMediaGallery($imagepath,array('image','small_image','thumbnail'),true,false);
        $product->addImageToMediaGallery($local_file_path,array('image','small_image','thumbnail'),true,false);
        Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
        $product->save();
               
    }
}

No comments:

Post a Comment