Доброго времени суток, уважаемые!
Не хочу давать оценку на тему что такое хорошо - что такое плохо, но по моему это архитектурный косяк, такой подход к загрузке изображений товара. И дело даже не в том что файловый менеджер вешается на паре тысяч картинок, сам процесс с точки зрения эргономики мне лично кажется сделанным неправильно.
В моем понимании (по крайней мере на своих проектах, которые делал с нуля) загрузка изображений ДОЛЖНА быть такой (алгоритм):
1) сервер принимает изображение складирует его во временную папку с временным именем (как обычно вобщем-то)
2) всякие валидации (размер, тип ... что-то еще)
3) генерация рандома, переименование загруженного изображения, перемещение его в папку назначения под новым именем (т.е. _рандом_.jpg или _рандом_юзер.jpg чтоб наверняка)
4) запись в базу id (автоинкремент), старое имя, новое имя ... чего-то еще по вкусу
Итог: при такой организации файловой загрузки отсутствует необходимость прямой работы с файловой системы, все можно делать через скуль, 99,9% вероятность что нужный файл который у пользователя назывался 11.jpg и был загружен пол года назад не будет случайно перезаписан новым файлом 11.jpg который он загрузил из соседней папки, можно по крону чистить "старые картинки" и еще кучу всего делать что делать не удобно при прямой работе с файловой системой.
Однако в опенкарте как я понял все сделано с точностью до наоборот. После импорта я получил жостко вешающийся файловый менеджер на ~5000 изображений в папке с картинками, 3 действия вместо одного когда мне нужно для товара добавить изображение ... ну думаю дальше продолжать не имеет смысла. Всё все поняли о чем я.
Не, прошу не подумайте что я начал ныть о том как все плохо, ни в коем случае, я выбрал опенкарт именно по тому что там в глобальном смысле все более-менее хорошо, но вот это узкое место меня откровенно поставило в тупик. Я полностью разделяю мнение you need it -- you write it, но все же хочу обратиться к тем, у кого стояла аналогичная проблема, вкратце формулируемая так: невозможно работать с картинками на большой базе. Как вы с этим боролись?
Конечно поставить костыли вроде создать кучу папок с именами как id у категорий, а дальше написать скрипты которые поперекидают картинки туда согласно купленным билетам базы данных и я получу на выходе не более 500 картинок в одной папке -- это не особо большая проблема, оно все пишется на пхп максимум за 40 минут, но все же хотелось бы решить проблему на корню. Впрочем изобретать велосипед тоже не хочется.
Кто что может сказать по этому поводу?