Главная страница
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.012 c
15-1280907858
12
2010-08-04 11:44
2010.11.14
Мысленное управление. Не обманывают ли?


2-1282306183
подмастерье
2010-08-20 16:09
2010.11.14
Создание своей формы


6-1220980433
dmitry_12_08_73
2008-09-09 21:13
2010.11.14
Шаринг изображений с использованием сервисов SCP/SFTP, HTTP...


3-1247500268
AndrewG
2009-07-13 19:51
2010.11.14
Blob & TOleContainer


15-1280953799
Юрий
2010-08-05 00:29
2010.11.14
С днем рождения ! 5 августа 2010 четверг