Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка изображений пользователем 
:(
    Опции темы
Aliance
Дата 19.7.2007, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Доброго всем времени суток!

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

Хочется услышать ваши советы по реализации.
PM MAIL WWW ICQ Skype   Вверх
sandland
Дата 20.7.2007, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 28.4.2007

Репутация: 1
Всего: 1



А пользователи хранятся в БД?
- если да, то тогда непроблема отследить, загружал ли когда-нибудь пользователь картинки, и какие именно.

Если нету авторизации - есть вариант писать в БД IP и количество загрузок - но это ненадежный вариант

но пользователь может переименовать одну и ту же картинку и загрузить ее дважны на сервер...для этого использовать IMG ф-ции.

Для начала сравнить, имеются ли на сервере картинки, загруженные этим пользователем, совпадающие по длине и ширине с данной картинкой...если да, то попиксельное сравнение. если 100% совпадение..ну или можно задать даже свой процент, то отказ в загрузке картинки.

я бы сделал так.

PM MAIL WWW ICQ Jabber   Вверх
SelenIT
Дата 20.7.2007, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Я бы просто показывал все картинки, когда-либо загруженные этим юзером (напр., в виде мини-галереи превьюшек) и рядом форму для аплоуда новой. И пусть пользователь сам решает...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Diesel Draft
Дата 20.7.2007, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: 1
Всего: 5



SelenIT, согласен


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
Aliance
Дата 20.7.2007, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Конечно храняться.

Цитата(SelenIT @  20.7.2007,  01:43 Найти цитируемый пост)
Я бы просто показывал все картинки, когда-либо загруженные этим юзером (напр., в виде мини-галереи превьюшек) и рядом форму для аплоуда новой. И пусть пользователь сам решает... 

Я в эту же сторону думаю.

Есть таблица с юзерами, нас в данном случае интересуют два поля - логин и id
Делаем вторую таблицу, где храним изображение (ссылку на него) в одном поле и id юзера, которому она принадлежит во втором. Правильно мыслю?

Если да, то скажите как именно хранить картинки: ссылками в БД или же прямиков в БД. Если второй вариант - то интересует пример (поле типа BLOB я так понимаю?).
PM MAIL WWW ICQ Skype   Вверх
SelenIT
Дата 20.7.2007, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Цитата(Aliance @  20.7.2007,  00:53 Найти цитируемый пост)
Правильно мыслю?

Насколько я могу судить - абсолютно.

Цитата(Aliance @  20.7.2007,  00:53 Найти цитируемый пост)
как именно хранить картинки: ссылками в БД или же прямиков в БД.

Лучше ссылками.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Aliance
Дата 20.7.2007, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Тогда как лучше сделать, хранить все файлы в одной папке или разбивать на подпапки вида, скажем, user01, где вместо 01 - id юзера.
Видимо, все же, подпапки?
PM MAIL WWW ICQ Skype   Вверх
SelenIT
Дата 20.7.2007, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Имхо, да, это лишним не будет. Кстати, тогда в принципе можно даже без записи в БД обойтись smile.

Хотя если общее кол-во картинок ожидается заведомо меньше 1000 - не будет беды, даже если все в кучу сваливать...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Stampede
Дата 20.7.2007, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: нет
Всего: 144



Цитата(Aliance @  19.7.2007,  16:03 Найти цитируемый пост)
Тогда как лучше сделать, хранить все файлы в одной папке или разбивать на подпапки вида, скажем, user01, где вместо 01 - id юзера.


Если картинок ожидается много, можно подразбить каталог по значению какой-нибудь функции типа хэша. Но лучше по какой-нибудь совсем простой: например, по двум последним цифрам ID. Или по первой букве логина. Так проще сопровождать.



--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
Aliance
Дата 20.7.2007, 01:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Нет, картинок будет много и очень.
А как можно обойтись? У 1 юзера может быть много картинок. Или ты умеешь ввиду просто читать все картинки из его папки? smile
PM MAIL WWW ICQ Skype   Вверх
SelenIT
Дата 20.7.2007, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Ну да smile


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Aliance
Дата 20.7.2007, 01:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Ну а по скорости, мне кажется БД будет быстрее, или я ошибаюсь?
PM MAIL WWW ICQ Skype   Вверх
SelenIT
Дата 20.7.2007, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Насчет скорости вопрос, имхо, спорный... но вот надежность у БД (опять же имхо) повыше. Лучше с БД, конечно.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Diesel Draft
Дата 20.7.2007, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: 1
Всего: 5



БД не всегда быстр, но он очень удобен. Есть картинки имеют только одно свойство - пользователя, то тебе лучше юзать файлы. А если ты фильтруешь их по каким то параметрах то несомненно лучше БД. 
Картинку все ровно придется сохранять в файл, поэтому зачем делать больше  smile 


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0947 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.