[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: сохранение файла(бинарный формат)
agentor
приветствую..у меня вопрос..
у меня имеются в базе данных некий пункт description в котором данные записаны в бинарном виде..
но хотел бы прикрутить функцию скачивания этих данных сразу с базы данных в формате например ТХТ..
т-.е что бы при клике на ссылку можно было скачать сам файлик например myfile.txt
дело в том что самого файлика на сервер не существует
Возможно ли сделать такое не имея самого файла на сервере? и если да то можно пример работы?

спасибо...



Спустя 16 минут, 26 секунд (18.01.2011 - 02:31) Crash2007 написал(а):
функции fopen() и fwrite().....почитай)

Спустя 7 часов, 6 минут, 13 секунд (18.01.2011 - 09:37) agentor написал(а):
Crash2007 , в том то и дело что все пишут как открывать файл с данными с сервера но невижу как открывать данные без файла с базы данных

Спустя 5 часов, 20 минут, 23 секунды (18.01.2011 - 14:57) vagrand написал(а):
Достаешь значения поля из базы в переменную, а потом делаешь так:


header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=myfile.txt');
echo $fileData;
exit;

Спустя 11 часов, 26 минут, 2 секунды (19.01.2011 - 02:23) agentor написал(а):
а почему неопределённый формат? если он бинарный...
header('Content-Type: application/octet-stream');

к сожалению ваш метод не рбаотает

Спустя 9 часов, 16 минут, 35 секунд (19.01.2011 - 11:40) vagrand написал(а):
Цитата
а почему неопределённый формат? если он бинарный...


Не пишите того, чего не знаете. Вот почитайте: http://kb.iu.edu/data/agtj.html

Цитата
A MIME attachment with the content type "application/octet-stream" is a binary file.


Цитата
к сожалению ваш метод не рбаотает


Метод то работает, это скорее у Вас не хватило знаний что бы им воспользоваться.

Спустя 10 минут, 20 секунд (19.01.2011 - 11:50) sergeiss написал(а):
Цитата (agentor @ 19.01.2011 - 03:23)
к сожалению ваш метод не рбаотает

Полный код - в студию! И описание, как и что пытаешься сделать.

Спустя 28 минут, 59 секунд (19.01.2011 - 12:19) agentor написал(а):
я лиш просто спрашиваю про неопределённый формат
вот смотрите

	$id = (int)$_GET["id"];
if($_GET["update"] == "load") {
$res = mysql_query("SELECT id, data, size FROM data WHERE id = '".$id."'") or die ("ошибка запроса");
$row = mysql_fetch_assoc($res);
if (!$row){
exit("не найден");
}
$file_data = $row['data'];
$file_size = $row['size'];

header("Content-Length: ".$file_size);
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=myfile.txt");
echo $file_data;
exit();
}
echo "<a href=\"test.php?update=load&id=10222\">скачать данные</a>";

данные хранятся в переменной
$file_data
и берутся из базы данных из
$row['data']

сами данные data в базе данных соранены в BLOB формате

Спустя 1 час, 51 минута, 4 секунды (19.01.2011 - 14:10) vagrand написал(а):
И каков результат работы скрипта?

Спустя 50 минут, 4 секунды (19.01.2011 - 15:00) ИНСИ написал(а):
agentor попробуй так:
      if($_GET['update'] == 'load' && $_GET['id'] != '') {
$rows = mysql_query("SELECT `id`,`data`,`size` FROM `data` WHERE `id` = '".(int)$_GET['id']."'") or die ("ошибка запроса");
if($data = mysql_fetch_assoc($rows)) {
header("Content-Length: " . $data['size']);
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=myfile_" . $data['id'] . ".txt");
echo $data['data'];
exit();

} else
exit("не найден");
}
echo '<a href="?update=load&id=10222">скачать данные</a>';

Спустя 8 часов, 58 минут, 34 секунды (19.01.2011 - 23:59) agentor написал(а):
welbox2 спасибо за помощ но пока такой же еффект..данные сохранёные в базе данных просто при клике выводятся на екран, но не скачивает..
я сам непойму почему так...может где в конфигурации сервера надо что то указывать?

Спустя 8 часов, 26 минут, 58 секунд (20.01.2011 - 08:26) glock18 написал(а):
скорее всего просто что-то помимо файла на экран выводится до установки заголовков
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.