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

Разбить изображения в папке originals по категориям


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

 Добрый вечер, требуется сделать так чтоб картинки  в папке originals раскидывались по папкам. Оцениваю масштаб правок. Нужен ваш совет.

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

А зачем? В смысле какая задача стоит? Мне кажется лучше по размерам ресайзов сделать

Ну ТС вроде бы речь ведет о originals папке. 

Ну смысла это делать, пока тоже не особо понимаю 

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

А зачем? В смысле какая задача стоит? Мне кажется лучше по размерам ресайзов сделать

 

Задача конечно "неуважительная" у человека около 30 тыс товаров которые он спарсил с др сайтов. очень много фото которые повторяются по имени. В следствии чего фото заливаются (перезаписываются) и создается хаос.

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

Задача конечно "неуважительная" у человека около 30 тыс товаров которые он спарсил с др сайтов. очень много фото которые повторяются по имени. В следствии чего фото заливаются (перезаписываются) и создается хаос.

 

я бы сделал просто название фото sku+name+id или что-то такое. тогда названия будет уникальное и проблем не будет. надо будет переписать ф-ю сохранения фото и скрипт чтобы переименовал уже существующие

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

я бы сделал просто название фото sku+name+id или что-то такое. тогда названия будет уникальное и проблем не будет. надо будет переписать ф-ю сохранения фото и скрипт чтобы переименовал уже существующие

 

Проблема в том что фото грузятся в одну папку. По любому идет замена. Либо их переписывать названия в менять в файле csv . Объемы большие и поэтому это очень тяжелый процесс.

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

Проблема в том что фото грузятся в одну папку. По любому идет замена. Либо их переписывать названия в менять в файле csv . Объемы большие и поэтому это очень тяжелый процесс.

 

это же все можно сделать скриптом без всяких csv. берете название файла в базе, находите его на диске - меняете название по айди товара. и так далее.. для всех новых товаров - переписать в Image.php процесс сохранения фото - чтобы название автоматически давалось по айди/артикулу или еще как-то. просто делить по папкам - по какому принципу, как это записывать в базу, как потом понимать что фото в той папке а не в другой. не забудьте что резайзы придется так же хранить в разных папках в этом случае

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

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

Если товаров 30 тыс, и у каждого, допустим, 5 фото, то в originals выходит 150 тыс фото, а в products  может, к миллиону подойдет или даже превысит...

 

Масштаб правок - пройтись по всем скриптам, связанным с изображениями, в основном api/Image.php. Правки не слишком сложные, но требуют аккуратности и времени...

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

Большое количество папок или файлов в каталоге несет за собой некие проблемы. Толи это уменьшение скорости или проблемы с открытием каталогов и поиском файлов. 

 

Но еще не стоит забывать, что некоторые файловые системы имеют ограничения на количество файлов и папок в каталоге.

К примеру ext3 только 32к подпапок. Исходя из этого - подход с каждой папкой для товара - может потерпеть неудачу... 

 
Поэтому сначала уточните свою файловую систему и ее ограничения. Затем выбирайте способ хранения. 
 
 
я бы наверное сделал деление ида по модулю. К примеру 50.
Тогда примерный путь будет выглядеть так: /files/originals/[0-50]/ид_товара/картинка
 
или же по иду товара делать промежутки (допустим в 1000) floor(ид_товара/1000).
/files/originals/[1,2,3,4 и тд]/ид_товара/картинка
Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

это же все можно сделать скриптом без всяких csv. берете название файла в базе, находите его на диске - меняете название по айди товара. и так далее.. для всех новых товаров - переписать в Image.php процесс сохранения фото - чтобы название автоматически давалось по айди/артикулу или еще как-то. просто делить по папкам - по какому принципу, как это записывать в базу, как потом понимать что фото в той папке а не в другой. не забудьте что резайзы придется так же хранить в разных папках в этом случае

 

 

Тоесть по сути нужно сделать так? Закинуть файлы в папку оригиналс.

Потом грузить файл импорта и сделать так чтоб при импорте добавлялся в картинкам артикул и и изменял название изображения.

 

с добавлением артикула при импорте вроде разобрался. А как файлы переименовывать в папке originals?

 

например идет импорт изображению с названием test.jpg он присвоил артикул test111.jpg. но в папке originals она test.jpg

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

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

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

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

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

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

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

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

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

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