Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 22.04.2017 15:54:50

Как при удалении пользователя удалять связанные файлы

Здравствуйте!

Есть проект, на котором пользователи выкладывают для продажи свои товары. У каждого товара есть фотографии. У каждого пользователя может быть несколько товаров.

Для хранения изображений, программист сделал такую файловую структуру: /files/id пользователя/lots/id лота/картинки
Я руководитель этого проекта, и эта структура показалась мне слишком сложной, у меня нет доступа к id пользователей, вижу только id лотов, поэтому я предложил такой вариант: /files/id лота/картинки

Прогер отказался, аргументируя тем, что это самая быстрая по работоспособности схема для удаления файлов пользователя или лотов. Что если нужно удалить пользователя, то сразу удаляются лоты пользователя и картинки в лотах, мол все связано, база данных очищается, все происходит мегабыстро , не нагружает систему и удаляет полностью все ненужные файлы, мусор не накапливается. А если тебе(мне, то есть) надо поработать с файлами, то я могу сделать такую возможность в админке, нечего в ftp лазить.

Подскажите, это действительно самый оптимальный способ для хранения и полного удаления файлов пользователей с точки зрения нагрузки на систему и базу данных? Действительно ли другие способы более медленные и менее эффективные?

Изменено omega92 (22.04.2017 16:02:01)

Не в сети

#2 22.04.2017 16:40:17

Re: Как при удалении пользователя удалять связанные файлы

Структура нормальная, если вам не хватает функционала пусть прогер добавит его в админку.
Ваш вариант (/files/id лота/картинки) подразумевает то что придется взаимодействовать с таблицей связывающей пользователя с его лотами, или прописывать в именах картинок id пользователя, а затем делать кучу логических операций для их удаления, тогда как в варианте (/files/id пользователя/lots/id лота/картинки) достаточно удалить папку с id пользователя.
Да, структура более сложная чем ваша, но менее ресурсозатратная при взаимодействии.

Не в сети

Подвал раздела