<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

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

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

Подписавшись по 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

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

Ответить

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