За последние 24 часа нас посетили 118346 программистов и 8024 робота. Сейчас ищет 1561 программист ...

Где хранить пользовательские картинки?

Тема в разделе "PHP для новичков", создана пользователем **Aleks**, 14 ноя 2018.

  1. **Aleks**

    **Aleks** Новичок

    С нами с:
    14 ноя 2018
    Сообщения:
    3
    Симпатии:
    0
    Только изучаю Web разработку, поэтому просьба сильно не пинать за глупые вопросы :).
    Допустим есть некий сайт интернет магазина, где юзеры загружают некоторые картинки, например фото товара. Вопрос где правильнее хранить файлы картинок?
    С одной стороны не хочется нагружать БД, но с другой стороны у нас получается ещё одна точка изменяемых данных.
    Для переноса на другой хостинг мне нужно отдельно тянуть минимум 4 вещи:
    1. Код из git
    2. БД
    3. Настройки БД (под вопросом, т.к. параметры БД можно просаживать также через git, а также более гибко использовать DNS)
    4. Папку с картинками
    Понимаю, что в разных фреймворках это уже реализовано, но мне интересен именно идеологический момент, как правильнее, и, что самое главное, почему именно так.
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    файлы лучше хранить как файлы, то есть п 4., в БД хранить только пути к ним
    почему? потому что например файлы хорошо кешируются как статика, чего не скажешь когда из БД отдавать будешь
    + возникает 100500 проблемой при работе с БД... сохранить туда, извлечь.. то-се, ну и база распухнет - мама не горюй, а оно вам надо?
    + всегда можно написать некий адаптер, чтоб файлы например не локально у вас на хосте хранились а например в хранилище амазона S3, или еще где

    насчет деплоя на сервер - папка с картинками - это файлы, их видит git
    БД - в фреймворках это делается с помощью миграций
    настройки БД - первый раз слышу........ обычно все настраивается раз на хосте и все... потом тока данные обновляются
     
  3. **Aleks**

    **Aleks** Новичок

    С нами с:
    14 ноя 2018
    Сообщения:
    3
    Симпатии:
    0
    Спасибо. Я думал по обращению)))

    Не совсем понял идею. Ведь мы там тоже должны придумать некий код, который будет отдавать файлы. И к нему будут те же вопросы)))
    Да, но почему то везде вижу эти папки в .gitignore. Обоснования вижу два: разбухание гит репозитария (фактически временными данными, этот вариант слышал от многих) и то, что push нужно будет делать со стороны хостинга, а к нему не всегда есть доверие с точки зрения безопасности.
    Не совсем понял. Можно по подробнее, куда смотреть?
    Имеется ввиду вопрос смены хостинга или просто переезда на другой сервер. Ну и docker, как частный случай переезда.
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    ну в Laravel - php artisan migrate .. а вообще почитай лучше что там и к чему)

    че-то какие то ужасы.. вы разработку на сервере рабочем будете делать и код пушить в репу??? обычно на продакшене забирают мастер ветку,
     
  5. **Aleks**

    **Aleks** Новичок

    С нами с:
    14 ноя 2018
    Сообщения:
    3
    Симпатии:
    0
    Нет. Я имею ввиду, что файлы, загруженные пользователями, при переезде на другой хостинг, нужно тянуть за собой. Или просто файликами тянуть, или файликами через гит (вот тут и получается непонятный пуш), или в БД.
     
  6. ElisDN

    ElisDN Активный пользователь

    С нами с:
    13 фев 2018
    Сообщения:
    605
    Симпатии:
    130
    Да, придётся вручную перетянуть за собой. Это не проблема.