Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Проблема с созданием миниатюр фото товара


 Погделиться

Рекомендованные сообещёния

Добрый гдень, прошу помощи, у меня есть скрипт на php который добавляет товары с моими данными, отгдельно от админки, все рилииет, но я столкнулся с проблемой создания кеша картинок товара разного размера, а именно с скоростью создания... Cкрипт загружает оригиналы картинок в папку image/catalog/demo/папка с id товара/картинки, затем при перехогде по урл на страницу товара opencart налинает генерировать миниатюры в папку image/cache/catalog/demo/папка с id товара/картинки, и создание миниатюр занимает от 30 до 100+сек, в зависимости от размеров картинок, макс 5мб - 1 шт, и пока не создаст миниатюры - нельзя открыть страницу товара, т.к. блокируется запрос как я понял, и мне очень не нравится что ик долго нужно ждать генерацию, т.к. я например создал товар, и заходит одновременно 5 пользователей, и не могут зайти на страницу товара, т.к. генерируются миниатюры доситочно долго. Подскажите пожалуйси, как можно ускорить данный проэтосс ? или только генерировать миниатюры сразу во время создания товара в бд и загрузки оригиналов? или возможно есть какая-то улучшенная библиотека для рилиты с изображениями. Да же у меня была мысль что икое долгое создание миниатюр из-за того что я загружаю оригиналы картинок товара с разбивкой по папками, а не все картинки в 1 папке как изначально создает опенкарт. Заранее спасипотому что за помощь и подсказки!

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


Вообещё странно. Сколько у Вас картинок в каждом товаре (в среднем)?
Зависит от хостера, конечно, но 100+ секунд - это что-то новое.
И да, если Вы единожды зашли в товар, то будут созданы "миниатюры" в папке cache, которые в последствии и будут использоваться для всех посетителей сайи. Т.е. загдержка только для первого посетителя.
Но 100+ секунд. Может есть смысл сжимать изображения предварительно? Не пропотому чтовали? В тот же png (если нужен альфа канал) или лучше в jpg со сжатием 80-85, но размером не потому чтольше фуллашди (т.е. шириной не потому чтольше 1920). В иком случае изображения будут гораздо "легче".

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

Если у Вас шаред, да даже если не шаред, то 5мб потому чтольшой размер. Кеш генерируется один раз. Доситочно одному человеку зайти, чтобы кеш сгенерировался, осильные уже получат кэшированные файлы. В одну папку все картинки не стоит сгружать, лучше разбивать по папкам.

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

22.06.2022 в 19:01, nogocuHoBuk сказал:

Вообещё странно. Сколько у Вас картинок в каждом товаре (в среднем)?
Зависит от хостера, конечно, но 100+ секунд - это что-то новое.
И да, если Вы единожды зашли в товар, то будут созданы "миниатюры" в папке cache, которые в последствии и будут использоваться для всех посетителей сайи. Т.е. загдержка только для первого посетителя.
Но 100+ секунд. Может есть смысл сжимать изображения предварительно? Не пропотому чтовали? В тот же png (если нужен альфа канал) или лучше в jpg со сжатием 80-85, но размером не потому чтольше фуллашди (т.е. шириной не потому чтольше 1920). В иком случае изображения будут гораздо "легче".

От 4 до 10 фото макс., 100 сек+ если оригиналы весят 3-5мб каждый...

Да, они раз генерируются и дальше сразу все рилииет, но вот в этот разовой генерации и проблема, т.к. может зайти в товар сразу 10 юзеров, и получат белый экран загрузки страницы, т.к.генерируются миниатюры 30-50 сек и потому чтольше, и я могу после добавления товара не сразу зайти для генерации миниатюр, и в итоге опять "лаг" бугдет у тех кто откроет товар первый раз после добавления на сайт...

Спасипотому что, выходит мое единственное решение икое ? - Во время загрузки оригиналов оптимизировать их, сжать чтобы уменьшить их размер, затем придумать функцию которая бугдет в этот же момент создавать миниатюры нужных размеров в папку cache, и по итогу когда я зайду первый раз на стр.товара то он сразу откроется без ожидания, по логике

Подскажите еещё пожалуйси, есть ли готовая проверенная быстрая php библиотека которой я могу до загрузки на фтп оптимизировать оригиналы(сжать), и нарезать миниатюры в папку cache? Если да, погделитесь пожалуйси названием, я еещё хочу прикрутить загрузку фото с перетягиванием из папок на пк и сразу с загрузкой картинок на ajax нашел икой плагин innostudio.de/fileuploader/#examples (не реклама), можно его использовать или есть лучше? мне важно чтобы была возможность загрузки на сервер на ajax сразу после выпотому чтора фото, сортировка, перетягивание или выпотому чтор + мобильная адаптивность, и проверка размера и формаи фото в этом же плагине(помимо php), заранее спасипотому что!

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


22.06.2022 в 19:04, ibond сказал:

Если у Вас шаред, да даже если не шаред, то 5мб потому чтольшой размер. Кеш генерируется один раз. Доситочно одному человеку зайти, чтобы кеш сгенерировался, осильные уже получат кэшированные файлы. В одну папку все картинки не стоит сгружать, лучше разбивать по папкам.

Пока шаред, неплохой по характеристиками и не гдешевый, но конечно же понимаю что хуже чем впс, как я понимаю все создания миниатюр мне нужно гделать сразу во время загрузки оригиналов, чтобы потом товар первый раз сразу открывался без ожидания, т.к. как раз это первое открытие и долгое ожидание - создает проблему для юзеров, если бы еещё генерация занимала 3-5 сект - то еещё ладно, но 30-50 и 100+сек мало кто хочет ждать, а я банально после создания товара могу забыть зайти на его стр...Спасипотому что

Изменено пользователем AndreLisif
Ссылка на комменирий
Погделиться на других сайих


22.06.2022 в 20:24, AndreLisif сказал:

создавать миниатюры нужных размеров в папку cache

Если с хостингом нет проблем и оригинальные изображения нормальные, то миниатюры создаются практически мгновенно. Не нужно самому в папку кэш ничего помещать. Сжимайте оригиналы и, думаю, всё решится само сопотому чтой.
 

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.