|
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
|
|
Как лучше хранить миниатюры14.05.2016, 03:43. Показов 2065. Ответов 12
Метки нет (Все метки)
Как стоит хранить миниатюры изображений в базе данных?
Варианта у меня три. - Как и все остальные файлы, в той же таблице (в этой таблице есть поля type и data отвечающие за ассоциацию записи и можно указать например thumb_200 и id) - Создать отдельную упрощённую таблицу thumbs вида id, size, original_id - Добавлять постфикс к системному (уникальному) имени файла. Например name_thumb200, name_thumb600
0
|
|
| 14.05.2016, 03:43 | |
|
Ответы с готовыми решениями:
12
Как лучше хранить переписку? Как лучше хранить список системных файлов Как и где лучше хранить Мета теги |
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 14.05.2016, 06:45 | |
|
Я не понял -- миниатюры или их названия? Если названия, то достаточно одной таблицы, в которой есть имя оригинального изображения.
Сами миниатюры хранить в отдельной папке (thumbs) с точно таким же именем, как и у оригинала. Когда нужно вывести оригинал -- пишите так: /путь/к/папке/имя изображения. Когда надо вывести миниатюру -- пишите так: /путь/к/папке/thumbs/имя изображения. Где "имя изображения" -- значение из поля в базе.
1
|
|
|
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
|
|
| 14.05.2016, 13:25 [ТС] | |
|
Para bellum, а если мне нужна непредсказуемость пути к файлу?
Например только определённая группа (скажем vip) могут смотреть полную версию статьи и им нельзя подбирать адрес полноразмерной картинки. Как тогда лучше поступить?
0
|
|
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 14.05.2016, 15:15 | |
|
Ну, в таком случае, можно делать запрос не напрямую к картинке, а через php. Ну, вроде:
http://example.com/getimage?id=819647&type=thumb А оригинал получать так: http://example.com/getimage?id... e=original В скрипте отдачи проверять, есть ли права для просмотра оригинала.
0
|
|
|
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
|
|
| 14.05.2016, 17:48 [ТС] | |
|
Para bellum, Нет нет. Я всегда формирую страницу по чистому html. Без дополнительных запросов.
Сразу отдаю url. Да и это не выход. Если человек понимает алгоритм работы, ему не составит труда модифицировать ссылку превьюшки убрав /thumb например.
0
|
|
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 15.05.2016, 09:58 | |
|
0
|
|
|
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
|
|
| 15.05.2016, 11:45 [ТС] | |
|
Para bellum, это не имеет значения. Если человек получит ссылку на картинку, зная алгоритм он может получить доступ к её любой версии просто установив нужный размер, ведь все ссылки устроены одинаково.
Да и отдавать картинки php скриптом прошлый век и совсем не практично.
0
|
|
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||||||||
| 15.05.2016, 12:16 | ||||||||
Серверу до фонаря, кто у Вас там VIP, а кто обычный -- он отдаст картинку и всё. Поэтому отдавать картинку нужно с помощью ЯП.
0
|
||||||||
|
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
|
|
| 15.05.2016, 15:58 [ТС] | |
|
Para bellum,
![]() Очень смешное недопонимание. Повторю, вдруг вы поймёте. Если я получил прямую ссылку на картинку любой версии, например site/img/thumb_micro/img.jpg, я смогу получить доступ к полной версии картинки так например: site/img/original/img.jpg Вопрос только в том когда я получу ссылку на изображение.
0
|
|
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||
| 16.05.2016, 17:27 | ||
|
0
|
||
|
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
|
|||||||||||||
| 16.05.2016, 17:57 | |||||||||||||
|
Вы закидываете картинки в хранилище, недоступное извне, например site.ru/private/images/0001.jpg, при этом закрыв доступ к папке, подпапкам и самим изображениям через файл .htaccess.Далее если вам нужно показать картинку - используете ссылку, как показали выше:
Примерная логика скрипта:
Подробней тут.
1
|
|||||||||||||
|
-13 / 2 / 0
Регистрация: 14.08.2014
Сообщений: 240
|
|
| 17.05.2016, 13:12 [ТС] | |
|
Jodah, а, хорошо. Так действительно всё сработает.
Ссылку не читал, но думаю там просто указано что в хедер стоит указывать тип jpg/png/gif... Но такой вариант всё равно излишне сложный. Ну и лично я всегда считал неправильным такое решение. Конечно кроме вариантов вроде файлообменников или хранилищ картинок где это оправданно. Я озадачен лишь тем как хранить картинки. А отдаю я всегда честную прямую ссылку. Что скажете? Как по вашему стоит хранить изображения?
0
|
|
|
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
|
|
| 17.05.2016, 14:07 | |
|
AlexBitard, вариантов очень много. Когда-то видел отличную статью на хабре по этой теме, жаль потом сколько не искал её, так и не удалось найти... там перечислялись распространённые способы организации картинок.
Лично я пока что пришёл к такому решению: 1. Оригиналы картинок храню вместе с другим скрытым от лишних глаз контентом, например в той же site.ru/private/images/. Это необязательно, но лично мне так проще делать бекапы, поскольку бекап кэшированных (уменьшенных) копий мне не нужен.2. Кэшированные копии храню в следующем виде: site.ru/images/products/106000/105040/105031_120x120.jpgТ.е. беру id картинки, округляю до тысяч - это первая папка. Затем округляю до десятков - это вторая папка. Затем id картинки и размеры. Когда изображений становится слишком много - приходится разбивать их на 2-3 уровня папок, поскольку иначе в каждой папке копится слишком большое количество изображений (тем более если нужно делать много копий разных размеров - кол-во картинок растёт с жуткой скоростью). Подобное разбиение на уровни позволяет упростить навигацию, да и меньше ресурсов таким образом съедается (в теории, на практике не проверял). Изначально схема (в той статье, о которой писал выше) выглядела немного иначе - берётся md5 от id, и затем первые несколько символов представляют собой 1-ую папку, затем 2-ую и т.д., т.е. нечто вроде: 202cb962ac59075b964b07152d234b70 - md5 от картинки с id = 123site.ru/images/20/2c/b962ac59075b964b07152d234b70.jpg - итоговый путь к картинке.Разумеется, нужно смотреть на потенциальный объём картинок. Если всего их на сайте будет не больше 200-300 штук - можно сделать как предложил выше Para bellum, да и ваши варианты из 1-го сообщения тоже подойдут. Я считаю, однозначного решения здесь нет, нужно просто брать тот вариант, который больше нравится. И не является слишком простым или избыточным для конкретной задачи, конечно.
1
|
|
| 17.05.2016, 14:07 | |
|
Помогаю со студенческими работами здесь
13
Как лучше хранить значение главной аватарки? Как лучше хранить(шифровать) секьюрные данные в базе? Где лучше хранить информацию Где лучше хранить контент?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|