![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Доброго всем времени суток!
Пишу один проект, где пользователь должен иметь возможность загрузить изображение-логотип на сайт. Но заказчик решил усложнить простую задачу следующим: если пользователь каждый раз хотел грузить один и тот же логотип, то смысла терять место нет, поэтому заказчик хочет, чтобы пользователь мог выбрать одно из двух: либо загрузить логотип с локальной машины, либо (если данный пользователь загружал хотя бы одну картинку), выбрать из уже загруженных. Хочется услышать ваши советы по реализации. |
|||
|
||||
sandland |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 28.4.2007 Репутация: 1 Всего: 1 |
А пользователи хранятся в БД?
- если да, то тогда непроблема отследить, загружал ли когда-нибудь пользователь картинки, и какие именно. Если нету авторизации - есть вариант писать в БД IP и количество загрузок - но это ненадежный вариант но пользователь может переименовать одну и ту же картинку и загрузить ее дважны на сервер...для этого использовать IMG ф-ции. Для начала сравнить, имеются ли на сервере картинки, загруженные этим пользователем, совпадающие по длине и ширине с данной картинкой...если да, то попиксельное сравнение. если 100% совпадение..ну или можно задать даже свой процент, то отказ в загрузке картинки. я бы сделал так. |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Я бы просто показывал все картинки, когда-либо загруженные этим юзером (напр., в виде мини-галереи превьюшек) и рядом форму для аплоуда новой. И пусть пользователь сам решает...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: 1 Всего: 5 |
SelenIT, согласен
|
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Конечно храняться.
Я в эту же сторону думаю. Есть таблица с юзерами, нас в данном случае интересуют два поля - логин и id Делаем вторую таблицу, где храним изображение (ссылку на него) в одном поле и id юзера, которому она принадлежит во втором. Правильно мыслю? Если да, то скажите как именно хранить картинки: ссылками в БД или же прямиков в БД. Если второй вариант - то интересует пример (поле типа BLOB я так понимаю?). |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Насколько я могу судить - абсолютно. Лучше ссылками. -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Тогда как лучше сделать, хранить все файлы в одной папке или разбивать на подпапки вида, скажем, user01, где вместо 01 - id юзера.
Видимо, все же, подпапки? |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Имхо, да, это лишним не будет. Кстати, тогда в принципе можно даже без записи в БД обойтись
![]() Хотя если общее кол-во картинок ожидается заведомо меньше 1000 - не будет беды, даже если все в кучу сваливать... -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: нет Всего: 144 |
Если картинок ожидается много, можно подразбить каталог по значению какой-нибудь функции типа хэша. Но лучше по какой-нибудь совсем простой: например, по двум последним цифрам ID. Или по первой букве логина. Так проще сопровождать. -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Нет, картинок будет много и очень.
А как можно обойтись? У 1 юзера может быть много картинок. Или ты умеешь ввиду просто читать все картинки из его папки? ![]() |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Ну да
![]() -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 14 Всего: 137 |
Ну а по скорости, мне кажется БД будет быстрее, или я ошибаюсь?
|
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Насчет скорости вопрос, имхо, спорный... но вот надежность у БД (опять же имхо) повыше. Лучше с БД, конечно.
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: 1 Всего: 5 |
БД не всегда быстр, но он очень удобен. Есть картинки имеют только одно свойство - пользователя, то тебе лучше юзать файлы. А если ты фильтруешь их по каким то параметрах то несомненно лучше БД.
Картинку все ровно придется сохранять в файл, поэтому зачем делать больше ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |