Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Загрузка картинки в БД

254
02 сентября 2004 года
Cker
341 / / 20.08.2000
Каким образом можно залить картинку в БД? И как должна выглядеть первоначальная форма?
283
03 сентября 2004 года
Alone
910 / / 20.11.2002
Цитата:
Originally posted by Cker
Каким образом можно залить картинку в БД?


А ты хорошо подумал?
Некоторые хостеры запрещают такое...

254
03 сентября 2004 года
Cker
341 / / 20.08.2000
хорошо. мой хостер разрешает.
использую InterBase FireBird 1.5
283
03 сентября 2004 года
Alone
910 / / 20.11.2002
Цитата:
Originally posted by Cker
хорошо. мой хостер разрешает.



советую подумать еще раз, стоит ли совершать такую ошибку...

получение файла из формы в зависит от языка.

php:
http://forums.webscript.ru/showthread.php?s=&threadid=3931&msgnum=0

perl:
http://faq.webscript.ru/PerlFAQ

254
03 сентября 2004 года
Cker
341 / / 20.08.2000
ну, вообще-то, я уже сделал.
я хотел сделать через файл, но админ сказал делать через базу. типа для безопасности
283
03 сентября 2004 года
Alone
910 / / 20.11.2002
Цитата:
Originally posted by Cker
но админ сказал делать через базу. типа для безопасности


:D у каждого свои тараканы в голове

когда начальство будет иметь с тобой секс, на админа не сошлешся :)

254
03 сентября 2004 года
Cker
341 / / 20.08.2000
а как мне обосновать то, что лучше с файлами?
просто я с базой никогда так не работал и незнаю, в чем могут быть глюки... =/
4
03 сентября 2004 года
mike
3.7K / / 01.10.2002
На самом деле вопрос спорный.
Сказано с файлами - делай с файлами.

Многие крупные поекти хранят картинки в базе, ведь файловая система - тоже, своебразная, база данных, и не самая быстрая, между прочим.
2.6K
03 сентября 2004 года
Zipo
41 / / 09.08.2003
Цитата:
Originally posted by Cker
а как мне обосновать то, что лучше с файлами?
просто я с базой никогда так не работал и незнаю, в чем могут быть глюки... =/



на самом деле глюков никаких нету.
И если этих картинок будет очень много, то на БД будет работать даже быстрее.

Другое дело, что безопасность не является аргументом для переходя на БД. Файлы можно защитить и другим путем.
для апача все просто: запрещаем доступ к папке через .htaccess. А с помощь серверного скрипта выкидываем нужную картинку.
Для других нужно эту папку расположить вне рутовой папки веб сервера.

единственный недостаток таких методов - трудная реализация докачки файла.

283
04 сентября 2004 года
Alone
910 / / 20.11.2002
2mike
то что они так делают это не означает что так правильно,
они могут позволить себе более сильные сервера вместо того чтобы оптимизировать софт. Тем более что многие крупные проекты не хранят картинки в базе.
Може файловая система и не такая уж быстрая по сравнеию с чемто но если сравнивать с БД она очень и очень быстрая.

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

Чем плохо хранить файлы в базе:

1. Дамп базы.
Дампить базу нужно регулярно(предположим что проект не мертвый и обнавления и добавления происходят регулярно). Обычно это раз в день. Еще нужно хранить эти самые дампы за какойто период.
+ если риссунки в базе то просто сделал дамп и все.
- дамп получится огромный. во 10-1000 раз больше чем для базы без файлов. Если файлы хронятся на винте ты можеш выбирать нужно ли делать их резевное копирование или нет. Легко определить какие файлы были измененный с последнего дампа и положить только их в архив с сохранением структуры. Впринципе тоже самое можно сделать для базы с файлам, но это большой геморой который с лихвой перечеркивает все преимущества

2. Рост нагрузки на сервер
Генерация страници и создание ссылок на файлы идут одинаково(почти).
Если файлы на винте:
Ссылки прямые, они обрабатываются ТОЛЬКО веб сервером без запуска скриптов и обращений в базу. Эти файлы могут быть уже в КЕШЕ, быстрее доступ придумать труднее.
Если файлы в базе:
Для каждой картинки запускается новый скрипт, новый коннект к базе новая выборка. Кеширования нет. Конечно не все так плохо. Можно сделать так чтобы скрипты не компилились(интепритировались) при каждом обращение, постоянный коннект к базе(с этим осторожно), кешировать скрипты(потом боротся с этим) но гемор лишний гемор.

3. Таблица с файлами это динамическая таблица.
+ Меньшый размер по сравнению со статичной (если без файлов конечно :) )
- Медленнее поиск, хуже кешируется, более сильная фрагментация, хуже востанавливается при сбое.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог