SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.10.2014 07:59:15

Osi322
Участник
Зарегистрирован: 04.07.2014
Сообщений: 24

сохранение файлов из БД на сервер.

Добрый день. вопрос наверное больше подходит для php.. но может тут кто то знает, как это сделать..

Имеется файлы сохраненные в БД, тип mediumblob.

Как вытягивать их через браузер, разобрался.

Но столкнулся с проблемой, как сохранять их на сервер?

Кто знает, как это можно сделать?

Допустим есть таблица с файлами, при нажатии на кнопку,  как я понял должно произойти следующее:
1)скрипт php записывает в массив данные таблицы.. каждый элемент массива это сам файл(закодированный в типе blob, большая такая строка), название и тип.
а дальше.. что с этим делать? как их сохранять на сервер в папку..

хотя бы ссылку на это.. а то гугл постоянно выдает как залить в базу а не наоборот.

Неактивен

 

#2 27.10.2014 15:12:31

Osi322
Участник
Зарегистрирован: 04.07.2014
Сообщений: 24

Re: сохранение файлов из БД на сервер.

В общем проблему решил.. оказалось нужно работать с файлами.
вот пример который сохраняет файлы с БД на сервер, если кому нибудь понадобится:
таблица имеет следующие поля
-наименование файла (который был загружен)
-тип файла(MIME)
-размер
-данные файла
в общем содержание массива $_FILE в php



$connect_bd_zip=new mysqli(DB_HOST, DB_USER, DB_PASS, db_zip);
                    $sql_select="SELECT  `name_doc_oprihod`, `type_doc_oprihod`, `size_doc_oprihod`, `file_doc_oprihod` FROM `doc_oprihod` WHERE 1";
                    $result= $connect_bd_zip->query($sql_select);
if(mysqli_num_rows($result) == 0)
{
echo "Database is empty <br>";
}
else
{
while($row  = $result ->fetch_object())
{
//создаем файл с именем
$fp = fopen($_SERVER['DOCUMENT_ROOT']."/uploads/".$row->name_doc_oprihod, "w");
 
// записываем в файл
fwrite($fp, $row->file_doc_oprihod);
 
// закрываем
fclose($fp);
   
 }}

Отредактированно Osi322 (27.10.2014 15:23:02)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson