Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Базы Данных > Как скачать файл из базы данных MySQL? |
Автор: Niakita 27.12.2012, 18:58 |
Создал в базе данных MySQL таблицу, заполнил, в поле с типом mediumblob закачал rar архивы. Написал на PHP вывод таблички на веб страницу, всё хорошо - только в поле где должны находиться файлы для скачивания поселились какие то кракозябры на пол страницы. Как на PHP написать запрос, чтобы можно было скачивать файлы из базы данных? |
Автор: Fortop 27.12.2012, 21:53 |
Для начала не стоит их там хранить. Но если уж сохранили, то и отдавайте соответствующим образом. В соседней ветке про картинку есть нужный код Только данные вы берете не из файла, а из БД Добавлено через 29 секунд http://forum.vingrad.ru/forum/topic-360605/anchor-entry2539243/0.html |
Автор: Niakita 2.1.2013, 06:19 | ||
Думаю если создатели предусмотрели такую возможность - то ей нужно пользоваться. ---------------------------------------------------------------------------------------------------------------------- За ссылку спасибо - будем изучать. |
Автор: Niakita 2.1.2013, 07:48 |
Да - знаю про это, пока искал как файл из бд загрузить - кучу ответов на форумах увидел про то, что нельзя в Бд файлы хранить, а вот про то как всё таки выгрузить с базы данных файл на компьютер нигде толком вменяемо описано не было. |
Автор: skyboy 2.1.2013, 08:32 |
Niakita, так сделал или нет? Тебе Fortop ссылку давал выше, видел? |
Автор: Niakita 2.1.2013, 08:42 | ||
Да, видел - сейчас разбираюсь. (С PHP практически не знаком) |
Автор: lomaster 2.1.2013, 14:10 | ||
![]() http://www.delphimaster.ru/cgi-bin/forum.pl?n=3&id=1356595975&p=1 |
Автор: Fortop 2.1.2013, 16:15 |
Старших надо слушать это аксиома. В случае файлов в БД слушать надо вдвойне, потому что только Oracle и MS SQL имеют некоторые механизмы (читай костыли) нивелирующие проблемы такого хранения. В MySQL такого нет и не предвидится, поэтому файлы в нем хранить не надо. |
Автор: skyboy 2.1.2013, 16:37 |
хранение в БД вместо файловой системы: а) влияет на производительность б) сложнее в реализации: это ты еще не узнал, что если твой скрипт не обрабатывает Range параметр, у тебя докачка/мультипотоковая закачка не поддерживается. и еще другие механизмы, которые НТТР сервер при работе с файлами реализует только так. в) не масштабируется — когда в линуксе отдельные папки можно по сети просто примонтировать, прозрачно для НТТР сервера, с содержимым БД такое не прокатит — придется с кластеризацией плясать. слишком радикально звучит ![]() |
Автор: Fortop 2.1.2013, 19:23 | ||
Да нормально звучит ![]() И не в молодежи дело. А в неучах таких как lomaster |