Intereting Posts
Отправить письмо с учетной записью Google с помощью CodeIgniter Удаление предупреждающих сообщений в PHP файлы php выполняются параллельно или последовательно? Глобальный фильтр / поведение Yii2 для принудительного аутентификации пользователя Ошибка записанного аудиофайла в ActionScript Найти и сохранить все innerhtml div в переменной php Как получить идентификатор электронной почты пользователей в приложении Facebook с использованием PHP? Безопасный сброс пароля без отправки по электронной почте как получить текст из файла pdf и сохранить его в DB Предупреждение: mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean задан в проблеме con el wile Загрузка ролевой навигации при входе в систему вычесть «1» из числа в строке SQL Query Приложение Zend Framework без виртуальных хостов Видео не загружается Получить всю дату начала недели и дату окончания в пределах диапазона дат в php

php: Сохранить изображение в Mysql blob, хорошо или плохо?

этот вопрос меня смущает, поэтому я подумал, что должен слушать экспертный голос!

лучше ли загружать изображения в папку и просто сохранять ссылку на mysql или лучше загружать img в поле blob mysql?

Большое спасибо

Я часто создавал системы для хранения изображений в базе данных, есть плюсы и минусы этого.

Плюсы:

  • Все ваши данные хранятся в одном месте, если вы перемещаете свой сайт / базу данных, изображения будут только там
  • Его проще сортировать / удалять / etc …
  • Поскольку вы должны обслуживать его с помощью PHP-скрипта, вы можете выполнять дополнительные функции, такие как безопасность, если требуется, или обработку изображений (очевидно, вы можете сделать это и с плоским файлом, но вы должны убедиться, что сбой безопасности можно обойти, оставив изображения в общедоступном каталоге).

Минусы:

  • Его медленнее, чем обслуживать плоский файл с веб-сервера в качестве скрипта PHP, необходимо его восстановить, а MySQL нужно вернуть данные.
  • Ваша база данных станет очень большой, и не все веб-хосты слишком любезно относятся к этому.
  • Файловая система работает быстрее для хранения и извлечения файлов, так как именно для них предназначена файловая система.

Плохо. Ваш веб-сервер выполняет гораздо более эффективную работу с заголовками истечения срока действия и напрямую загружает файлы из файловой системы. Пропускная способность будет намного выше, используя файловую систему. Это то, для чего он предназначен, использовать его.

Базы данных SQL предназначены для реляционных данных, а не для изображений. Вы просто загружаете свою базу данных без необходимости. Сохраните имя пути / изображения.

Если ваше приложение велико, т. Е. Вам нужно многократно отображать большое количество / размер изображений, вам следует перейти на первый метод (сохранение только пути изображения в базе данных и фактических изображений в файловой системе). Это уменьшит время обработки, чтобы отображать изображения, кроме того, потребляет меньше ресурсов. Во-вторых, если вашему приложению требуется меньше изображений, вы можете хранить их непосредственно в базе данных. Таким образом становится проще взять резервные копии и приложение на другое ОС.