如何防止重复导入图像?

时间:2012-12-28 01:58:17

标签: php magento

对不起,我是php的新学习者。以下代码允许您为每个产品导入多个图像。只需在导入文件中添加“图库”列,并用分号分隔每个图像。从csv文件导入数据。但是有一个错误。如果我导入了图像,当我再次导入时。仍然会再次导入。但是,产品有很多重复的图像。如果产品导入图像,如何防止再次导入。

try {
                    $galleryData = explode(';',$importData["gallery"]);
                    foreach($galleryData as $gallery_img)
                    /**
                     * @param directory where import image resides
                     * @param leave 'null' so that it isn't imported as thumbnail, base, or small
                     * @param false = the image is copied, not moved from the import directory to it's new location
                     * @param false = not excluded from the front end gallery
                     */
                    {
                            $product->addImageToMediaGallery(Mage::getBaseDir('media') . DS . 'import' . $gallery_img, null, false, false);
                    }
                }
            catch (Exception $e) {}   
谢谢。

1 个答案:

答案 0 :(得分:1)

检查是否file_exists()。如果不导入它:

try {
    $galleryData = explode(';',$importData["gallery"]);
    foreach($galleryData as $gallery_img){

        if(!file_exists(Mage::getBaseDir('media') . DS . 'import' . $gallery_img)){
            $product->addImageToMediaGallery(Mage::getBaseDir('media') . DS . 'import' . $gallery_img, null, false, false);
        }

    }
}catch (Exception $e) {}

注意:这会显着减慢进程,因为每次检查文件都必须联系服务器。