|
|
|
выгрузка документов из БД Оракл
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток - очень нужна Ваша помощь. У меня в БД Оракл в поле типа blob хранятся докумнты в разных форматах (doc, xls, pdf). подскажите как сделать их загрузку к пользователю. Т.е. например на страницу выводится список документов из базы, пользователь кликает ссылку и выводится запрос о сохранении файла. кроме того в базе есть еще имя файла (при загрузке). ps: oracle9.2.0.4+apache+php4+adodb. заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 16:42 |
|
||
|
выгрузка документов из БД Оракл
|
|||
|---|---|---|---|
|
#18+
Делается селект, скажем на один документ, так как на многие может просто грохнуться скрипт, далее заводиш переменную, скажем $SelfBlob, в нее помещаеш содержимое блоба, и лучше сохранить сразу в файл локально и временно. Далее тебе неноходимо либо скешировать вывод в браузер, либо обрадовать его header в котором прописываеш attache его размер поток вывода, и постиш его юзверю. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. С уважением,MySQLdb ----------------------------------------------------------- С уважением,MySQLdb ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 17:17 |
|
||
|
выгрузка документов из БД Оракл
|
|||
|---|---|---|---|
|
#18+
[quot MySQLdb]заводиш переменную, скажем $SelfBlob, в нее помещаеш содержимое блоба, и лучше сохранить сразу в файл локально и временно.[/quote]А гланды вы тоже через ... удалять предложите? Можете объяснить, зачем делать временный файл? То, что вы однажды не смогли разобраться в вопросе вовсе не означает, что это должно повлечь неизгладимый отпечаток на других.[quote]Далее тебе неноходимо либо скешировать вывод в браузер[/quote]интересно, что бы сиё значило? Только не надо мне рассказывать о том, что такое кэширование - поясните смысл сказанной фразы - "скэшировать вывод в браузер". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 18:48 |
|
||
|
выгрузка документов из БД Оракл
|
|||
|---|---|---|---|
|
#18+
*[quot MySQLdb]заводиш переменную, скажем $SelfBlob, в нее помещаеш содержимое блоба, и лучше сохранить сразу в файл локально и временно.[/quote]А гланды вы тоже через ... удалять предложите? Можете объяснить, зачем делать временный файл? То, что вы однажды не смогли разобраться в вопросе вовсе не означает, что это должно повлечь неизгладимый отпечаток на других.[quote]Далее тебе неноходимо либо скешировать вывод в браузер[/quote]интересно, что бы сиё значило? Только не надо мне рассказывать о том, что такое кэширование - поясните смысл сказанной фразы - "скэшировать вывод в браузер". Уважаемый Гость, прошу пояснить ваши замечания примерами ! точ то нужен временный файл я тоже сомневаюсь ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 12:05 |
|
||
|
выгрузка документов из БД Оракл
|
|||
|---|---|---|---|
|
#18+
maksi_m *[quot MySQLdb]заводиш переменную, скажем $SelfBlob, в нее помещаеш содержимое блоба, и лучше сохранить сразу в файл локально и временно.[/quote]А гланды вы тоже через ... удалять предложите? Можете объяснить, зачем делать временный файл? То, что вы однажды не смогли разобраться в вопросе вовсе не означает, что это должно повлечь неизгладимый отпечаток на других.[quote]Далее тебе неноходимо либо скешировать вывод в браузер[/quote]интересно, что бы сиё значило? Только не надо мне рассказывать о том, что такое кэширование - поясните смысл сказанной фразы - "скэшировать вывод в браузер". Уважаемый Гость, прошу пояснить ваши замечания примерами ! точ то нужен временный файл я тоже сомневаюсь ! Да, можно сразу отправлять файл после извлечения запроса, но в этом случае 1) скрипту прийдется выделить столько памяти, скколько занимает файл в блобе 2) проставить скрипту некий максимальный exec_time, что бы он успел все передать пользователю. А можно завести маленькую временную директорию, в нее сохранить содержимое файла, и открыть пользователю окошко, с сылкой на этот файл, ему останется только на нее кликнуть. Ну а уж если есть желание, то можно заставить скрипт передать этот файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 14:09 |
|
||
|
выгрузка документов из БД Оракл
|
|||
|---|---|---|---|
|
#18+
MySQLdb1) скрипту прийдется выделить столько памяти, скколько занимает файл в блобе[/quote]Это необходимо в любом случае[quot]2) проставить скрипту некий максимальный exec_time, что бы он успел все передать пользователю.Чушь. Время передачи данных пользователю вообще не имеет никакого отношения к времени выполнения скрипта.А можно завести маленькую временную директорию, в нее сохранить содержимое файла, и открыть пользователю окошко, с сылкой на этот файл, ему останется только на нее кликнуть.Тогда на кой черт вообще хранить бинарные файлы в базе, если они дублируются в файловой системе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 16:25 |
|
||
|
выгрузка документов из БД Оракл
|
|||
|---|---|---|---|
|
#18+
господа ! давайте ближе к теме (!) я тоже считаю что нет надобности создавать временный файл, но можно поделится работающим примером загрузки файлов, например .doc ? и можно ли вообще избежать указания типов данных (application/pdf....), а загружать пользователю данные (из BLOB) в файл с указанным именем ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2004, 18:26 |
|
||
|
выгрузка документов из БД Оракл
|
|||
|---|---|---|---|
|
#18+
За время скипта верно, имел в виду время исполнения скрипта которое прописано в 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 09:13 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=32790943&tid=1479139]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 336ms |

| 0 / 0 |
