Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.11.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
Дмитрий С ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
15-1280862868
Kerk
2010-08-03 23:14
2010.11.14
Про колбасу


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


15-1280865079
NailMan
2010-08-03 23:51
2010.11.14
А еще я подсел на действующий стимпанк...


2-1282026902
CuTTer
2010-08-17 10:35
2010.11.14
шрифты


8-1207866845
Olya
2008-04-11 02:34
2010.11.14
Как вырезать часть изображения?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский