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

гордон

Постоялец
Регистрация
5 Сен 2012
Сообщения
74
Реакции
103
Код:
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, взял с гитхаба. всёравно ошибка
Для просмотра ссылки Войди или Зарегистрируйся
 
Такое при добавлении всех картинок или какой то одной? Возможно картинка битая или расширения кто то поменял например с jpg на png
 
Такое при добавлении всех картинок или какой то одной? Возможно картинка битая или расширения кто то поменял например с jpg на png
при добавлении всех картинок. загружал и jpg и png. та же история.
сам модуль Watermark v.3.1 отключён.
 
Код:
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, взял с гитхаба. всёравно ошибка
Для просмотра ссылки Войди или Зарегистрируйся

Варианты:
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?
 
А вообще, юзайте Opencart 1.5.5.1, зачем вам старый 1.5.3.1?
В прошлом году делал на последней версии, тогда это была 1531. Сейчас там уже столько всего сделано тема не дефолт, модулей много. Которые вероятно криво встанут на 1551. Поэтому сижу маюсь на 1531
Спасибо за новодку

1. Картинка не загружается в принципе. Проверьте права на директорию /image
2. Проверьте значение константы HTTP_IMAGE в /config.php
-Права 755
-define('HTTP_IMAGE', 'Для просмотра ссылки Войди или Зарегистрируйся
 
В прошлом году делал на последней версии, тогда это была 1531. Сейчас там уже столько всего сделано тема не дефолт, модулей много. Которые вероятно криво встанут на 1551. Поэтому сижу маюсь на 1531
Спасибо за новодку


Знакомая ситуация, кстати:) У меня магазин вообще на 1.4.8. Админка переделана под себя настолько, что переходить на версию старше тоже нет возможности. Конечно, в последних версиях добавили столько всего, о чем я 3 года назад с 1.4.8 мог только мечтать))
 
пока прописал в .htaccess дабы не вылазили ошибки на всех страницах.
php_flag display_startup_errors off
php_flag display_errors off
 
Посмотрите файл /admin/model/tool/image.php. А, вообще, лучше покажите, сравню со своим.

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

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

Не загружаются картинки везде? Или только в товарах, только в категориях?
 
Посмотрите файл /admin/model/tool/image.php. А, вообще, лучше покажите, сравню со своим.
Не загружаются картинки везде? Или только в товарах, только в категориях?
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($filename, 0, utf8_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 . $path, 0777);
                }
            }
 
            $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
 
Несмотря на ошибки, картинка все же ресайзится, что интересно:)

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