Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Храние изображений в БД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Minigun
Отправлено: 16 Октября, 2011 - 23:24:44
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




Подскажите как это делается и расскажите подводные камни
 
 Top
caballero
Отправлено: 16 Октября, 2011 - 23:33:49
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




делается просто читаешь файл и пихаешь в blob поле
так же и обратно - прочитал поле вывел echo
в mysql это проще чем в любой другой базе

подводные камни бОльшая нагрузка на процессор
бонус - консистентность данных и возможность управлять доступом средствами PHP

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


если начнется холивар где хранить картинки в базе или файлах - не обращай внимания


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
White
Отправлено: 16 Октября, 2011 - 23:34:25
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




зачем лишний раз нагружать БД?
(Добавление)
caballero пишет:
консистентность данных и возможность управлять доступом средствами PHP
закрываем каталог для прямого доступа, оставляем права только веб-серверу, делаем маленький скрипт где пишем нужные заголовки и делаем include нужного файла с изображением.
ладно если еще это мускул, на одной машине с веб сервером, а если это postgre на удаленной машине, и изображения достаточно большие. последствия могут быть самыми печальными.


-----
if(time()>1356048000) die();
 
 Top
caballero
Отправлено: 17 Октября, 2011 - 00:10:39
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
закрываем каталог для прямого доступа, оставляем права только веб-серверу, делаем маленький скрипт где пишем нужные заголовки и делаем include нужного файла с изображением.


И это вместо простого sql запроса который выдает картинку в альбоме если залогинился Вася и не выдает если Петя.

Цитата:
ладно если еще это мускул, на одной машине с веб сервером, а если это postgre на удаленной машине, и изображения достаточно большие.

А если это оракл или mssql с полем типа FILESTREAM то вообще никаких последствий. Зачем строить предположения?

(Отредактировано автором: 17 Октября, 2011 - 00:11:39)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
White
Отправлено: 17 Октября, 2011 - 08:01:03
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




caballero пишет:
И это вместо простого sql запроса который выдает картинку в альбоме если залогинился Вася и не выдает если Петя.
проверка авторизации в обоих случаях одинакова, а include(file) будет выглядеть значительно проще и понятней "простого запроса", с последующим его выводом.
caballero пишет:
Зачем строить предположения?
это не предположения а варианты, и то с каким sql сервером работает ТС, непосредственно влияет на наилучший вариант реализации. и если это действительно
Цитата:
оракл
то лучше использовать локаторы BFILE.


-----
if(time()>1356048000) die();
 
 Top
Minigun
Отправлено: 18 Октября, 2011 - 20:16:17
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




Спасибо всем кто помог.
буду разбиратся
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB