<MyRusakov.ru />

Создание Интернет-магазина на PHP и MySQL

Создание Интернет-магазина на PHP и MySQL

Видеокурс "Создание Интернет-магазина на PHP и MySQL" - это уникальный курс по созданию Интернет-магазина с нуля. Особенностью данного курса является то, что создание идёт с самого начала, то есть от идеи. Далее создаётся дизайн всех необходимых страниц, после делается их вёрстка. Затем создаётся движок на PHP и MySQL, после делается Admin-панель и, наконец, готовый сайт размещается в Интернете.

Адрес созданного в этом курсе сайта: http://storedvd.ru

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Стоит ли хранить изображения в БД

Стоит ли хранить изображения в БД

У меня частенько спрашивают про то, где лучше хранить изображения в базе данных или в виде обычных файлов, а путь держать уже в базе данных. Конечно, 100% однозначного ответа не существует, однако, своё видение я в этой статье изложу.

На мой взгляд, преимущество хранения изображений в базе данных всего одно: отсутствие противоречий. Например, Вы создали какую-то запись в таблице, у которой есть путь к изображению. А потом это изображение случайно было удалено, в итоге, запись уже без изображения, хотя путь к нему всё равно имеется. Вот этого недостатка хранение изображений в базе данных позволяет избежать.

Теперь разберём явные минусы хранения изображений в БД:

  • Изображение находится в BLOB, а это набор байтов. И чтобы этот набор байтов показать пользователю в виде изображения, придётся хорошенько попотеть с тем же header().
  • Изображения - достаточно ёмкие элементы, извлечь которые задача не из лёгких для всегда ограниченной памяти сервера.
  • Файловая система заточена под работу с файлами, поэтому она гораздо быстрее обработает то же изображение, чем MySQL будет его извлекать из таблицы, а Вы потом ещё будете создавать изображение из байтов.

Исходя из всего этого, мой ответ на вопрос "Стоит ли хранить изображения в БД" - не стоит. Храните в виде обычных файлов, а пути к ним сохраняйте уже в базе данных.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (5):

lev_100rus lev_100rus 06.05.2013 17:40:20

Можно написать скрипт, что если файл в папке не найден, то выводить картинку с надписью "картинки нет" или ничего не выводить... но это уже совсем другая история

Ответить

Admin Admin 06.05.2013 19:04:33

Используйте функцию file_exists(), она как раз и проверяет наличие файла.

Ответить

thart2009 thart2009 14.02.2014 12:23:39

"...мой ответ на вопрос "Стоит ли хранить изображения в БД" - не стоит. Храните в виде обычных файлов, а пути к ним сохраняйте уже в базе данных..." - самый быстрый и четкий ответ, что я получал на свой вопрос в поисковике )). Спасибо, так делал и теперь буду делать ))

Ответить

Jey-Val-Star Jey-Val-Star 30.11.2014 21:48:06

Здравствуйте, у меня такой вопрос: А что если не хранить запись об изображении в БД (ни в каком виде) а вычислять путем кеширования мд5 id материала. И если файл есть - то выводить? Как по мне не целесообразно делать такую процедуру - выполнение скрипта занимает время. PS в компоненте K2 (для Joomla 1.5) так и реализовано - это для исключения повторения названия файла изображения при добавлении его к материалу

Ответить

alexandrdante alexandrdante 30.11.2014 22:59:54

джумла и работает с "такой" скоростью)

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.