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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Алгоритм работы с изображениями 
:(
    Опции темы
insy
Дата 15.7.2009, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Народ, не могли бы вы подробнее рассказать как работать с изображениями в бд...
Я знаю, что в базе должны храниться только ссылки а сами изображения в папке... мне интересно именно как это работает и по возможности примеры...

Заранее благодарю!

Это сообщение отредактировал(а) insy - 15.7.2009, 18:13
PM MAIL   Вверх
Ипатьев
Дата 15.7.2009, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

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



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

PM MAIL   Вверх
insy
Дата 15.7.2009, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Например у нас есть пользователь, который хочет поставить на аватар собственное изображение.Как нам лучше это реализовать.
Пользователь отправляет изображение, что происходит дальше... Заносить сразу в базу, или в базу заносить только ссылку... 
PM MAIL   Вверх
Ипатьев
Дата 15.7.2009, 18:53 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

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



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

Я бы в базу в этом случае не заносил вообще ничего.
Во-первых, оригинальное имя картинки нас никак не интересует.
Во-вторых, у нас наверняка есть уникальный id пользователя. 
В-третьих, аватар может быть только один. 
Следовательно, если сохранить картинку с именем, скажем, 234512.jpg, где имя совпадает с id, то сформировать ссылку можно будет автоматически. Расширение можно ставить любое, поскольку все браузеры, насколько я помню, различают картинки по формату, а не по расширению. 

PM MAIL   Вверх
Ипатьев
Дата 15.7.2009, 19:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

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



Но вообще-то, база данных - дело десятое.
Сначала надо научиться просто принимать файлы от пользователя. 
PM MAIL   Вверх
nezabor
Дата 15.7.2009, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесной житель...
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.4.2008
Где: Москва

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



а если аватарок больше то тогдым как, да и переносить данные(пользователей) на другой сервер будет проще
--------------------
Бесплатно о сайтах
PM MAIL WWW Skype   Вверх
pd107
  Дата 15.7.2009, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



insy, я никогда так не делал, если не ошибаюсь, примерно так:

загрузка в базу:
Код

mysql_query('INSERT INTO `table` (`img`, `img_id`) VALUES (LOAD_FILE("/patch/to/file.jpg"), 123)');


вывод:
Код

$res = mysql_query('SELECT `img` FROM `table` WHERE `img_id`=123');
$i = mysql_fetch_array($res);
header('Content-type: image/jpeg');
echo $i['img'];


по идее примерно так

Ипатьев, не о том спрашивали

Это сообщение отредактировал(а) pd107 - 15.7.2009, 21:04
PM MAIL   Вверх
nezabor
Дата 15.7.2009, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесной житель...
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.4.2008
Где: Москва

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



а чтобы уникальные имена делались подскажешь
--------------------
Бесплатно о сайтах
PM MAIL WWW Skype   Вверх
bars80080
Дата 15.7.2009, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(pd107 @  15.7.2009,  21:03 Найти цитируемый пост)
не о том спрашивали

спрашивали не о том, но судя по вопросу надо вначале уяснить базовые понятия
PM MAIL WWW   Вверх
pd107
Дата 15.7.2009, 22:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



PM MAIL   Вверх
Ипатьев
Дата 16.7.2009, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

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



pd107, спасибо, я сам разберусь, о чем прашивали, а о чем - нет.
PM MAIL   Вверх
insy
Дата 16.7.2009, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Все конечно замечательно, но не могли бы вы привести пример(Добавления изображения пользоваетелем при хранении в базе только ссылки на изображение )

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

Это сообщение отредактировал(а) insy - 16.7.2009, 08:43
PM MAIL   Вверх
Ипатьев
Дата 16.7.2009, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

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



insy, если ты умеешь работать с базой данных, то какая проблема записать в нее имя файла? Имя файла - это просто строка. Как имя пользователя. Имя пользователя ты можешь записать в базу данных? Если нет, то тебе надо учиться работать не с файлами, а с бадой данных. Если да - то в чем проблема записать в базу данных строку? 
PM MAIL   Вверх
insy
Дата 16.7.2009, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

п.с: я просто не представляю как по другому описать данную задачу

Это сообщение отредактировал(а) insy - 16.7.2009, 09:15
PM MAIL   Вверх
bars80080
Дата 16.7.2009, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



insy, ну тебе же объяснили. задача разбивается на совершенно независимые этапы:

1. загрузка файла на сервер
2. запись имени в БД

ты первое можешь сделать?
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




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


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

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