Помощь Ошибка в Image.php

Тема в разделе "Opencart", создана пользователем гордон, 24 апр 2013.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. гордон

    гордон Постоялец

    Регистр.:
    5 сен 2012
    Сообщения:
    64
    Симпатии:
    98
    Код:
    Warning: imagecreatefrompng() [function.imagecreatefrompng]: '/home/marsk230/public_html/maggaz/image/' is not a valid PNG file in /home/marsk230/public_html/maggaz/system/library/image.php on line 32 Warning: imagesx() expects parameter 1 to be resource, boolean given in/home/marsk230/public_html/maggaz/system/library/image.php on line 99 Warning: imagesy() expects parameter 1 to be resource, boolean given in /home/marsk230/public_html/maggaz/system/library/image.php on line 100 Notice: Undefined variable: watermark_pos_x in/home/marsk230/public_html/maggaz/system/library/image.php on line 121Notice: Undefined variable: watermark_pos_y in /home/marsk230/public_html/maggaz/system/library/image.php on line 121 Warning: imagecopy() expects parameter 2 to be resource, boolean given in/home/marsk230/public_html/maggaz/system/library/image.php on line 121 Warning: imagedestroy() expects parameter 1 to be resource, boolean given in /home/marsk230/public_html/maggaz/system/library/image.php on line 123
    
    Opencart v 1.5.3.1
    При добавлении нового изображения к товару, появляется такая ошибка, после обновляешь старницу, ошибки нет. В чем проблема никак не могу додуматься...
    Строки
    99. $watermark_width = imagesx($watermark);
    121 imagecopy($this->image, $watermark, $watermark_pos_x, $watermark_pos_y, 0, 0, 120, 40);

    Похоже ошибка в watermark, перезаписал image.php, взял с гитхаба. всёравно ошибка
    https://github.com/opencart/opencart/blob/master/upload/system/library/image.php
     
  2. Yuriy_Z

    Yuriy_Z Доработка+ OpenCart

    Регистр.:
    22 июл 2012
    Сообщения:
    159
    Симпатии:
    91
    Такое при добавлении всех картинок или какой то одной? Возможно картинка битая или расширения кто то поменял например с jpg на png
     
  3. гордон

    гордон Постоялец

    Регистр.:
    5 сен 2012
    Сообщения:
    64
    Симпатии:
    98
    при добавлении всех картинок. загружал и jpg и png. та же история.
    сам модуль Watermark v.3.1 отключён.
     
  4. nethare

    nethare Постоялец

    Регистр.:
    27 окт 2012
    Сообщения:
    104
    Симпатии:
    30
    Варианты:
    1. Картинка не загружается в принципе. Проверьте права на директорию /image
    2. Проверьте значение константы HTTP_IMAGE в /config.php


    Смотрите внимательнее на ошибку: '/home/marsk230/public_html/maggaz/image/' is not a valid PNG file. Конечно, директория не является валидным png-файлом:)

    Ошибка не в image.php, а где-то раньше, при загрузке картинки либо при формировании пути к ней.

    А вообще, юзайте Opencart 1.5.5.1, зачем вам старый 1.5.3.1?
     
  5. гордон

    гордон Постоялец

    Регистр.:
    5 сен 2012
    Сообщения:
    64
    Симпатии:
    98
    В прошлом году делал на последней версии, тогда это была 1531. Сейчас там уже столько всего сделано тема не дефолт, модулей много. Которые вероятно криво встанут на 1551. Поэтому сижу маюсь на 1531
    Спасибо за новодку

    1. Картинка не загружается в принципе. Проверьте права на директорию /image
    2. Проверьте значение константы HTTP_IMAGE в /config.php
    -Права 755
    -define('HTTP_IMAGE', 'http://domen.ru/image/');
     
  6. nethare

    nethare Постоялец

    Регистр.:
    27 окт 2012
    Сообщения:
    104
    Симпатии:
    30

    Знакомая ситуация, кстати:) У меня магазин вообще на 1.4.8. Админка переделана под себя настолько, что переходить на версию старше тоже нет возможности. Конечно, в последних версиях добавили столько всего, о чем я 3 года назад с 1.4.8 мог только мечтать))
     
  7. гордон

    гордон Постоялец

    Регистр.:
    5 сен 2012
    Сообщения:
    64
    Симпатии:
    98
    пока прописал в .htaccess дабы не вылазили ошибки на всех страницах.
    php_flag display_startup_errors off
    php_flag display_errors off
     
  8. nethare

    nethare Постоялец

    Регистр.:
    27 окт 2012
    Сообщения:
    104
    Симпатии:
    30
    Посмотрите файл /admin/model/tool/image.php. А, вообще, лучше покажите, сравню со своим.

    В самом начале функции resize в этом файле напишите var_dump($filename); Посмотрите на выводе, что получается.

    Еще проверьте константу DIR_IMAGE.

    Не загружаются картинки везде? Или только в товарах, только в категориях?
     
  9. гордон

    гордон Постоялец

    Регистр.:
    5 сен 2012
    Сообщения:
    64
    Симпатии:
    98
    PHP:
    <?php
    class ModelToolImage extends Model {
        public function 
    resize($filename$width$height) {
            if (!
    file_exists(DIR_IMAGE $filename) || !is_file(DIR_IMAGE $filename)) {
                return;
            }
     
            
    $info pathinfo($filename);
            
    $extension $info['extension'];
     
            
    $old_image $filename;
            
    $new_image 'cache/' utf8_substr($filename0utf8_strrpos($filename'.')) . '-' $width 'x' $height '.' $extension;
     
            if (!
    file_exists(DIR_IMAGE $new_image) || (filemtime(DIR_IMAGE $old_image) > filemtime(DIR_IMAGE $new_image))) {
                
    $path '';
     
                
    $directories explode('/'dirname(str_replace('../'''$new_image)));
     
                foreach (
    $directories as $directory) {
                    
    $path $path '/' $directory;
     
                    if (!
    file_exists(DIR_IMAGE $path)) {
                        @
    mkdir(DIR_IMAGE $path0777);
                    }
                }
     
                
    $image = new Image(DIR_IMAGE $old_image);
                
    $image->resize($width$height);
                
    $image->save(DIR_IMAGE $new_image);
            }
     
            if (isset(
    $this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
                return 
    HTTPS_IMAGE $new_image;
            } else {
                return 
    HTTP_IMAGE $new_image;
            }
        }
    }
    ?>

    картинки загружаются, просто когда первый раз картинка отображается в карточке товара например то выходят ошибки эти. После обновляешь страницу (F5) ошибок нет. Потом например нажимаешь купить товар, переходишь в корзину там эта картинка становится меньшего размера.. так же ошибка выходит, обновляешь, ошибки нет и так везде где делается resize изображения.
    define('DIR_IMAGE', '/home/имя_профиля/public_html/maggaz/image/')
    вот сам пациент ww_w.maggaz.ru
     
  10. nethare

    nethare Постоялец

    Регистр.:
    27 окт 2012
    Сообщения:
    104
    Симпатии:
    30
    Несмотря на ошибки, картинка все же ресайзится, что интересно:)

    Скиньте модуль свой watermark или посмотрите, откуда вообще вызывается функция /system/library/image.php:watermark() ?