powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / выгрузка документов из БД Оракл
8 сообщений из 8, страница 1 из 1
выгрузка документов из БД Оракл
    #32789705
maksi_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток - очень нужна Ваша помощь.
У меня в БД Оракл в поле типа blob хранятся докумнты в разных форматах (doc, xls, pdf).
подскажите как сделать их загрузку к пользователю.
Т.е. например на страницу выводится список документов из базы, пользователь кликает ссылку и выводится запрос о сохранении файла.
кроме того в базе есть еще имя файла (при загрузке).
ps: oracle9.2.0.4+apache+php4+adodb.
заранее благодарен.
...
Рейтинг: 0 / 0
выгрузка документов из БД Оракл
    #32789850
MySQLdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делается селект, скажем на один документ, так как на многие может просто грохнуться скрипт, далее заводиш переменную, скажем $SelfBlob, в нее помещаеш содержимое блоба, и лучше сохранить сразу в файл локально и временно. Далее тебе неноходимо либо скешировать вывод в браузер, либо обрадовать его header в котором прописываеш attache его размер поток вывода, и постиш его юзверю.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
//
   // We'll be outputting
   header("Content-type: text/plain");
   header("Content-type: application/force-download");
   //
   // It will be called downloaded
   header("Content-Disposition: attachment; filename=".$wfName);
   //
   // The PDF source is in original.pdf
   readfile($owFile);
   exit;
-----------------------------------------------------------
С уважением,MySQLdb
-----------------------------------------------------------
С уважением,MySQLdb
...
Рейтинг: 0 / 0
выгрузка документов из БД Оракл
    #32790078
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
[quot MySQLdb]заводиш переменную, скажем $SelfBlob, в нее помещаеш содержимое блоба, и лучше сохранить сразу в файл локально и временно.[/quote]А гланды вы тоже через ... удалять предложите? Можете объяснить, зачем делать временный файл? То, что вы однажды не смогли разобраться в вопросе вовсе не означает, что это должно повлечь неизгладимый отпечаток на других.[quote]Далее тебе неноходимо либо скешировать вывод в браузер[/quote]интересно, что бы сиё значило? Только не надо мне рассказывать о том, что такое кэширование - поясните смысл сказанной фразы - "скэшировать вывод в браузер".
...
Рейтинг: 0 / 0
выгрузка документов из БД Оракл
    #32790943
maksi_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*[quot MySQLdb]заводиш переменную, скажем $SelfBlob, в нее помещаеш содержимое блоба, и лучше сохранить сразу в файл локально и временно.[/quote]А гланды вы тоже через ... удалять предложите? Можете объяснить, зачем делать временный файл? То, что вы однажды не смогли разобраться в вопросе вовсе не означает, что это должно повлечь неизгладимый отпечаток на других.[quote]Далее тебе неноходимо либо скешировать вывод в браузер[/quote]интересно, что бы сиё значило? Только не надо мне рассказывать о том, что такое кэширование - поясните смысл сказанной фразы - "скэшировать вывод в браузер".
Уважаемый Гость, прошу пояснить ваши замечания примерами ! точ то нужен временный файл я тоже сомневаюсь !
...
Рейтинг: 0 / 0
выгрузка документов из БД Оракл
    #32791408
MySQLdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maksi_m *[quot MySQLdb]заводиш переменную, скажем $SelfBlob, в нее помещаеш содержимое блоба, и лучше сохранить сразу в файл локально и временно.[/quote]А гланды вы тоже через ... удалять предложите? Можете объяснить, зачем делать временный файл? То, что вы однажды не смогли разобраться в вопросе вовсе не означает, что это должно повлечь неизгладимый отпечаток на других.[quote]Далее тебе неноходимо либо скешировать вывод в браузер[/quote]интересно, что бы сиё значило? Только не надо мне рассказывать о том, что такое кэширование - поясните смысл сказанной фразы - "скэшировать вывод в браузер".
Уважаемый Гость, прошу пояснить ваши замечания примерами ! точ то нужен временный файл я тоже сомневаюсь !


Да, можно сразу отправлять файл после извлечения запроса, но в этом случае
1) скрипту прийдется выделить столько памяти, скколько занимает файл в блобе
2) проставить скрипту некий максимальный exec_time, что бы он успел все передать пользователю.

А можно завести маленькую временную директорию, в нее сохранить содержимое файла, и открыть пользователю окошко, с сылкой на этот файл,
ему останется только на нее кликнуть. Ну а уж если есть желание, то можно заставить скрипт передать этот файл.
...
Рейтинг: 0 / 0
выгрузка документов из БД Оракл
    #32791938
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
MySQLdb1) скрипту прийдется выделить столько памяти, скколько занимает файл в блобе[/quote]Это необходимо в любом случае[quot]2) проставить скрипту некий максимальный exec_time, что бы он успел все передать пользователю.Чушь. Время передачи данных пользователю вообще не имеет никакого отношения к времени выполнения скрипта.А можно завести маленькую временную директорию, в нее сохранить содержимое файла, и открыть пользователю окошко, с сылкой на этот файл,
ему останется только на нее кликнуть.Тогда на кой черт вообще хранить бинарные файлы в базе, если они дублируются в файловой системе?
...
Рейтинг: 0 / 0
выгрузка документов из БД Оракл
    #32792193
maksi_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
господа !
давайте ближе к теме (!)
я тоже считаю что нет надобности создавать временный файл, но можно поделится работающим примером загрузки файлов, например .doc ?
и можно ли вообще избежать указания типов данных (application/pdf....), а загружать пользователю данные (из BLOB) в файл с указанным именем ?
...
Рейтинг: 0 / 0
выгрузка документов из БД Оракл
    #32793302
MySQLdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
За время скипта верно, имел в виду время исполнения скрипта
которое прописано в PHP.ini файле.

В таком случае советую посмотреть примеры из PHP мануала, по функциям файловой системы, там много примеров, как отправлять файлы через HTTP в виде диалога open/save

http://www.php.net/manual/ru/ref.filesystem.php

http://www.php.net/manual/en/ref.filesystem.php

передесни примерчики в конце мануала, я уже не помню в каких именно функциях, но было их много, вот один из них

http://www.php.net/manual/en/function.fread.php
-----------------------------------------------------------
С уважением,MySQLdb
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / выгрузка документов из БД Оракл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]