Перейти к содержанию
Официальный форум поддержки Simpla

Не создаються "превью" фотографий


Рекомендуемые сообщения

  • Ответов 54
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

У всех могут быть разные проблемы, вот список от чего могут не работать:
1) стоит nginx перед апачем и не передаёт ему управление, если картинка не найдена
2) нет прав на запись в папку /files/
3) не установлен imagick и gd
4) не работают сессии (но тогда и корзина не работала бы, и многое другое)

Ссылка на сообщение
Поделиться на другие сайты

Вы можете обьяснить технически, по поводу первого пункта.
> 1) стоит nginx перед апачем и не передаёт ему управление, если картинка не найдена
Как это влияет на создание картинки? В чем принцип, моя техподдержка не может разобраться в проблеме.
Как устроена CMS и для чего передавать управление если картинке нет, как она от этого появится?!
Пожалуйста обьясните принцип, они не знают что делать...

Ссылка на сообщение
Поделиться на другие сайты

Оригиналы картинок хранятся в недоступной по http папке.
В зависимости от потребностей клиента, он может запросить картинку нужного ему размера,
по адресу вида http://site.ru/files/products/imageXxY.jpg
Если файл imageXxY.jpg существует, он и отправится клиенту.
Если же картинка нужного размера еще не сформирована, то АПАЧ перенаправит запрос скрипту resize.php для создания этого изображения.

Если перед апачем стоит nginx, и просто посылает подальше всех, кто запрашивает "несуществующую картинку", естественно, эта картинка и не будет создана никогда.
Поэтому нужно задать для nginx правило, по которому он будет передавать управление Апачу, или правило, аналогичное этому:

# Ресайз картинок на лету
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^files/products/(.+) resize/resize.php?file=$1&token=%{QUERY_STRING}

Ссылка на сообщение
Поделиться на другие сайты

Очень неумно передавать адрес скрипту для генерации изображения. Это ж какая нагрузка на сервер!
Автору: если по-русски, то у вас .htaccess неправильно обрабатывается. А именно вот это: !-f

Ссылка на сообщение
Поделиться на другие сайты

> Очень неумно передавать адрес скрипту для генерации изображения. Это ж какая нагрузка на сервер!
Поясните подробней, от чего нагрузка, и почему она больше чем если делать превью во время сохранения товара

Ссылка на сообщение
Поделиться на другие сайты

admin, ÿ ñèìïëó åù¸ íå ñòàâèë, ïðîñòî ê íåñêîëüêèì èíòåðíåò-ìàãàçèíàì ïðèñìàòðèâàþñü, òîðãóþñü. Åñòü çàäóìêè.
Òàê âîò, îäíî äåëî âûâîäèòü èçîáðàæåíèå êàæäûé ðàç ÷åðåç ñêðèïò, äðóãîå äåëî îáðàùàòüñÿ íàïðÿìóþ ê íåìó. Íó î÷åâèäíî æå, ÷òî èçìåíåíèÿ ðàçìåðîâ èçîáðàæåíèÿ, íàãðóçêà íà ñåðâåð íåõèëàÿ. À åñëè äëÿ êàæäîãî ïîñåòèòåëÿ òàêîå äåëàòü, òî ñåðâåð, âîçìîæíî, íå óïàä¸ò, äà õîñòåð ìîæåò çàáëîêèðîâàòü àêêàóíò.
Ïî-õîðîøåìó íàäî èçìåíÿòü ðàçìåð èçîáðàæåíèÿ è ïðè îòñóòñòâèè ñîõðàíÿòü â îòäåëüíîé ïàïêå. Åñëè ëåíü ïèñàòü ñàìîìó, ìîãó ïîäêèíóòü ñêðèïò.

Ссылка на сообщение
Поделиться на другие сайты

> По-хорошему надо изменять размер изображения и при отсутствии сохранять в отдельной папке. Если лень писать самому, могу подкинуть скрипт.

Естественно, так оно и работает

Ссылка на сообщение
Поделиться на другие сайты

Меня если честно то тоже не устраивает как работает ресайз изображений.
Время от времени картинки то есть то их нет, то создаются превью изображений то нет, в админке некоторые изображения отображаются некоторые нет.
Также это большая нагрузка на сервер как мне заявил хост провайдер.
Я бы сделал по другому, при добавлении товара сразу бы ресайзил изображение в несколько размеров а в шаблоне я бы выводил нужный размер.

Ссылка на сообщение
Поделиться на другие сайты

> Я бы сделал по другому, при добавлении товара сразу бы ресайзил изображение в несколько размеров а в шаблоне я бы выводил нужный размер.

Вы же не знаете заранее какие размеры понадобятся для дизайна, ну и непонятно что делать по время импорта товаров.
И что делать, если нужно изменить водяной знак? Заново загружать все картинки к товарам?

Ссылка на сообщение
Поделиться на другие сайты

> Также это большая нагрузка на сервер как мне заявил хост провайдер.
Какая разница, ресайзится оно при создании товара или при отображении? Функция ресайза от этого не зависит и будет создавать ту же нагрузку

Ссылка на сообщение
Поделиться на другие сайты

Посмотрите как сделано у китайцев ecshop.com, размеры задаются в админке для большой и малой картинке, хранится оригинальное изображение, а также оба варианта ресайза.
Почему также не сделать?

Ссылка на сообщение
Поделиться на другие сайты

> Посмотрите как сделано у китайцев ecshop.com, размеры задаются в админке для большой и малой картинке, хранится оригинальное изображение, а также оба варианта ресайза.
Почему также не сделать?

Потому что
1) есть не только большая и малая картинка, а еще много других размеров
2) потому что есть водяной знак, который может измениться
3) потому что при добавлении сразу нескольких картинок к товару прийдется их ресайзить сразу, на что может не хватить ресурсов сервера
4) потому что при импорте прийдется ресайзить все сотни или тысячи картинок сразу, что невозможно, так как время работы скрипта обычно ограничего
5) потому что картинки могут загружаться с удаленного источника, и пробрема номер 3 ухудшается
6) потому что требуемые дизайном размеры картинок могут измениться (например, при выборе другого шаблона)
7) потому что нет смысла ресайзить их при создании товара или добавлении к нему изображения
8) потому что нет ни одной причины делать иначе, чем сделано сейчас в симпле

Ссылка на сообщение
Поделиться на другие сайты
  • 4 недели спустя...

Мне не понятно.
В скрипте, что не производится проверка на то подключены расширения или нет?
$imagick = extension_loaded( "imagick" );
$gd = extension_loaded( "gd" );

Вот простенький скрипт который выполняет подобную проверку, в случае если какое то расширение не подключено то соотвественно ничего не выводится.
http://goracio.com.ua/test/

Я хочу купить Ваш скрипт. Уже и деньги готовы. Но я не могу нормально начать пользоваться этим скриптом, не говоря уже о том чтобы клиенту его предлагать в качестве площадки для развертывания своего интернет бизнеса.

Ссылка на сообщение
Поделиться на другие сайты

> Хммм... Интересно почему тогда на сервере, где нет Imagick, но есть GD картинки не отображатся вовсе.
1) стоит nginx перед апачем и не передаёт ему управление, если картинка не найдена
2) нет прав на запись в папку /files/

Ссылка на сообщение
Поделиться на другие сайты

>1) стоит nginx перед апачем и не передаёт ему управление, если картинка не найдена
>Как это исправить?
Установить правило для nginx, чтобы он передавал управление apache если файл в папке /files/products не найден

Ссылка на сообщение
Поделиться на другие сайты

Вот это правило?

# Ресайз картинок на лету
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^files/products/(.+) resize/resize.php?file=$1&token=%{QUERY_STRING}
#RewriteCond %{THE_REQUEST} ^GET\ (.*)files/products/(.*)\?([A-z0-9]*)
#RewriteRule ^files/products/(.+) resize/resize.php?file=%2&token=%3 [L,NE]

Не работает оно.

Хостер отключил обработку статики для моего сайта и проблема решилась.
Теперь, насколько я понял, у меня все обрабатывает апач, а не nginx.
Очень муторная возня была, но решаемая.

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...