Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.11.14;
Скачать: CL | DM;

Вниз

К вопросу о хранении содержимого файлов в базе.   Найти похожие ветки 

 
Дмитрий С ©   (2010-08-03 11:22) [0]

Общего мнения, как я понял нет. Каждый решает для себя.
В качестве эксперимента на своем сайте я реализовал данную функцию. В базе хранятся pdf/doc/... документы, которые могут достигать больших размеров, чем отведено памяти PHP скрипту. Т.е. дать скачать такой файл, а еще и скорость ограничить проблематично, но возможно делением содержимого на части (mysql):
SELECT SUBSTR(`contents`, :start + 1, :length) FROM `file` WHERE `id`=:id

Вопрос 1: Оптимизирует как-нибудь mysql (либо другая СУБД) такой запрос: не загружает полностью поле `contents` в свою память, а только часть?

Вопрос 2: А как пофрагментно внести содержимое в поле базы?


 
Игорь Шевченко ©   (2010-08-03 11:41) [1]


> Общего мнения, как я понял нет


есть - не хранить


 
stas ©   (2010-08-03 15:01) [2]

1. загружает все.
2.MySql незнаю Вроде как в mssql можно вкачать и выкачать по частям.


 
stas ©   (2010-08-03 15:09) [3]

1. хотя возможно и нет ) может прямо с диска читает.


 
12 ©   (2010-08-03 15:11) [4]

update table
set blob = blob + data
where id = X
?


 
antonn ©   (2010-08-03 16:16) [5]


> которые могут достигать больших размеров, чем отведено памяти
> PHP скрипту. Т.е. дать скачать такой файл, а еще и скорость
> ограничить проблематично, но возможно делением содержимого
> на части (mysql):

А не надо делать readfile() на страницу для скачивания.
Проблема надумана


 
Mystic ©   (2010-08-03 16:27) [6]

Хранить в базе это дополнительный геморрой. Плюс обрабатывать ручками много того, что автоматически делает WebServer: IfModify, Content Range, ...


 
Дмитрий С ©   (2010-08-03 16:46) [7]


> Mystic ©   (03.08.10 16:27) [6]

тоже согласен.


> antonn ©   (03.08.10 16:16) [5]
>
>

А как сделать?


 
antonn ©   (2010-08-03 17:21) [8]


> А как сделать?
>

да как и в дельфи, fopen()/fseek()/fread(), и обрабатывать код 206 для докачки.
Вообще уже давно есть классы типа class.httpdownload.php


 
Димка На   (2010-08-04 00:57) [9]

Это понятно, только не подходит для случая с базой: когда содержимое файла лежит в базе.



Страницы: 1 вся ветка

Текущий архив: 2010.11.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
3-1247500268
AndrewG
2009-07-13 19:51
2010.11.14
Blob & TOleContainer


3-1247748056
_REA
2009-07-16 16:40
2010.11.14
Выборка Master и Detail


15-1280438963
Германн
2010-07-30 01:29
2010.11.14
W7 90-days trial version


2-1281961993
12
2010-08-16 16:33
2010.11.14
как AnsiUpperCase для одного символа на русском?


15-1280779554
Petr V. Abramov
2010-08-03 00:05
2010.11.14
кто какими погодными сайтами пользуется?