Skip to main content
1 of 2
webnoob
  • 987
  • 3
  • 15
  • 26

How can I check if an image is already set against a product?

I am doing a product import routine and have images added to my product. The problem I have is that magento creates a dispretion path and then add's some numbers onto the end of my image file name to ensure it's not a duplicate. I need to find a way to check if myimage.jpg has been added to a product or not.

I can find the dispretion path using Mage_Core_Model_File_Uploader::getDispretionPath($fileName); so that isn't a problem but from what I can see there isn't a way to map the file name I uploaded to the one magento renamed it do, for instance:

I add an image called BadgersSmall.jpg and this is what magento returns as part of the MediaGallery collection

[value_id] => 5 [file] => /B/a/BadgersSmall_6_1.jpg [label] => [position] => 2 [disabled] => 0 [label_default] => [position_default] => 2 [disabled_default] => 0 [url] => http://www.localhost.com:8080/magento/media/catalog/product/B/a/BadgersSmall_6_1.jpg [id] => 5 [path] => C:\xampp\htdocs\magento\media\catalog\product\B\a\BadgersSmall_6_1.jpg 

The only thing I can think of at this point is running _getNotDuplicatedFilename($fileName, $dispretionPath); on my current image and then checking the index at the end of the file, subtract 1 and that "should" be the previous file I uploaded but this solution is simply horrible.

Any ideas?

webnoob
  • 987
  • 3
  • 15
  • 26