|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.02.2013, 12:57 | #1 |
Форумчанин
Регистрация: 17.01.2010
Сообщений: 277
|
Загрузка изображений. Хранение картинки в базе.
Всем привет! Думаю вы не раз сталкивались с загрузкой изображений на сервер, будь то аватарка пользователя или фотография позиции в каталоге. В итоге получается, что изображение должно быть привязано к конкретному элементу в базе данных и хранится в определенном поле таблицы.
Я столкнулся с небольшой проблемой: Допустим есть каталог автомобилей. Название картинок у меня в данном случае avto1, avto2, avto145 и т. д. В базе же, в поле для изображений хранятся форматы изображений, для меня это достаточно, потому что картинка связана по ID с товаром в имени. То есть я вывожу адрес картинки следующим образом: PHP код:
Хотелось бы спросить у вас, как вы связываете позиции из базы данных с изображениями? И как избежать проблемы с одновременным добавлением, когда картинка сразу грузится на сервер? |
07.02.2013, 13:50 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
1. давать уникальные имена картинкам - например md5(mktime())
2. создавать для каждого пользователя папку, в путь картинки включать id пользователей - тогда допустимы названия одинаковы.. но в разных папках .. ну и опять же уникальное имя давать 3. перед сохранением картинки - проверять - есть такое имя, если есть добавлять например 1... опять проверять ... если есть то не 1 а 2 добавлять - и так в цикле кароче способов много )) |
07.02.2013, 16:24 | #3 |
Форумчанин
Регистрация: 17.01.2010
Сообщений: 277
|
Если давать имя
PHP код:
И еще вопрос, можно ли как то загрузить картинку через iframe, не сохраняя ее на сервере - то есть только для предпросмотра, а потом уже при отправке основной формы соответственно сохранить? |
07.02.2013, 16:52 | #4 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
1. да хранить имена картинок нужно в базе, и на миллионы записей не найдется одного дубля .. .почитайте про md5 .... размер в 32 символа, совсем не считаю критическим... больше можно - для уникальности, меньше - не стоит
2. загружать на сервер нужно полюбому..... там делать перевьючить и аяксом или ифреймом показывать для предпросмотра, а потом если нужно уже сохранять в бд |
07.02.2013, 18:47 | #5 |
Форумчанин
Регистрация: 17.01.2010
Сообщений: 277
|
Я в курсе, неправильно выразил мысль просто)
А если после предпросмотра пользователь закроет страницу, что тогда делать, ведь файл останется? Может использовать какую то таблицу специально для превьюшек? А потом, кроном например, раз в день удалять мусор. Или можно проще как то? |
07.02.2013, 19:01 | #6 |
Форумчанин
Регистрация: 28.06.2010
Сообщений: 189
|
Думаю удалять файлы надо когда юзер уходит со страницы, иначе есть вероятность того что они сотрутся перед тем как юзер их "подтвердит"
|
07.02.2013, 19:23 | #7 |
Форумчанин
Регистрация: 17.01.2010
Сообщений: 277
|
Разве есть событие на уход юзера со страницы?
|
07.02.2013, 19:35 | #8 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
в таблицу основоную записывать сразу - но например статус - не показывать..... если записи больше скольких то часов и не изменился статус - удалять...
|
07.02.2013, 22:32 | #9 |
Форумчанин
Регистрация: 28.06.2010
Сообщений: 189
|
Есть, window.onunload, window.onbeforeunload.
+ |
08.02.2013, 12:17 | #10 |
Пользователь
Регистрация: 14.01.2013
Сообщений: 49
|
Код:
mktime() - Возвращает количество миллисекунд session_id() - Возвращает, присваиваемый автоматически, уникальный номер пользователя. Ни когда не повторяется и не дублируется. В связке с текущим временем (миллисекунды) можно с генерировать 100% уникальное имя файла |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хранение изображений в базе данных (Delphi) | Копоть Артём | Помощь студентам | 3 | 07.02.2012 18:36 |
хранение изображений на сервере | vvsh | Общие вопросы по программированию, компьютерный форум | 1 | 20.11.2011 20:35 |
Хранение изображений (в файловой системе) | SamFisher88 | ASP.NET | 0 | 08.11.2011 13:35 |
Хранение изображений в базе | Водка | Microsoft Office Access | 1 | 12.02.2010 17:39 |
Хранение *.pdf в базе Acess | opel.omega | БД в Delphi | 15 | 30.12.2008 00:04 |