у меня имеются в базе данных некий пункт 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 написал(а):
Цитата |
а почему неопределённый формат? если он бинарный... |
Цитата |
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 написал(а):
я лиш просто спрашиваю про неопределённый формат
вот смотрите
данные хранятся в переменной
сами данные data в базе данных соранены в BLOB формате
вот смотрите
$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 написал(а):
скорее всего просто что-то помимо файла на экран выводится до установки заголовков