Оба являются допустимыми подходами.
Они имеют различные преимущества / недостатки.
Хранение его в базе данных означает, что вам нужно добавить дополнительный код, чтобы изменить изображение на представление, которое поместится внутриоператор INSERT / UPDATE (base64 является одним из подходов и требует эквивалентного декодирования, но вы можете просто использовать mysql_real_escape_string ()).Хотя вы не можете запросить изображение напрямую (кроме поиска точных совпадений), это может уменьшить количество операций поиска и ввода-вывода, необходимых для извлечения данных, по сравнению с поиском пути в базе данных и последующим извлечением файла.
Также гораздо проще настроить репликацию базы данных по сравнению с настройкой репликации базы данных и файловой системы, если вы работаете на нескольких узлах.И есть проблема, связанная с синхронизацией резервных копий файловой системы и базы данных.
OTOH, использование файловой системы делает ваши таблицы данных намного меньше и, следовательно, быстрее извлекает записи из.
, что делаеткаталог в папку с изображениями пользователей
Вы, конечно, не хотите, чтобы пользователи могли загружать контент непосредственно в дерево документов вашего веб-сервера - независимо от того, по какому маршруту вы идете, данные должны храниться в месте, ненапрямую доступен для веб-сервера, но доступен для вашего кода.