Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Здравствуйте!
Есть проект, на котором пользователи выкладывают для продажи свои товары. У каждого товара есть фотографии. У каждого пользователя может быть несколько товаров.
Для хранения изображений, программист сделал такую файловую структуру: /files/id пользователя/lots/id лота/картинки
Я руководитель этого проекта, и эта структура показалась мне слишком сложной, у меня нет доступа к id пользователей, вижу только id лотов, поэтому я предложил такой вариант: /files/id лота/картинки
Прогер отказался, аргументируя тем, что это самая быстрая по работоспособности схема для удаления файлов пользователя или лотов. Что если нужно удалить пользователя, то сразу удаляются лоты пользователя и картинки в лотах, мол все связано, база данных очищается, все происходит мегабыстро , не нагружает систему и удаляет полностью все ненужные файлы, мусор не накапливается. А если тебе(мне, то есть) надо поработать с файлами, то я могу сделать такую возможность в админке, нечего в ftp лазить.
Подскажите, это действительно самый оптимальный способ для хранения и полного удаления файлов пользователей с точки зрения нагрузки на систему и базу данных? Действительно ли другие способы более медленные и менее эффективные?
Изменено omega92 (22.04.2017 16:02:01)
Не в сети
Структура нормальная, если вам не хватает функционала пусть прогер добавит его в админку.
Ваш вариант (/files/id лота/картинки) подразумевает то что придется взаимодействовать с таблицей связывающей пользователя с его лотами, или прописывать в именах картинок id пользователя, а затем делать кучу логических операций для их удаления, тогда как в варианте (/files/id пользователя/lots/id лота/картинки) достаточно удалить папку с id пользователя.
Да, структура более сложная чем ваша, но менее ресурсозатратная при взаимодействии.
Не в сети