|
|
|
| Подскажите плиз как правильно извлечь из БД блоб-файлы?
При чем их формат может быть любым(doc, картинка любого формата, pdf...).
Проблем с выводов вордовского файла нет, а вот с остальными проблема. Картинку выводит в первый раз, а во второй хочет ее открыть через ворд разумеется.
Как правильнее организовать извлечение?
//определение директории для временного хр-ния BLOB
$dir="{$HTTP_SERVER_VARS['DOCUMENT_ROOT']}/temp";
$reldir="/temp/";
//select doc в качестве массива
$row = mysql_fetch_array(mysql_query("select * from docs where id=$id"));
if(!$row)
{
echo ("<P>Ошибка в запросе</P>");
exit();
}
$cont=$row['content'];//content как элемент массива
//$row=mysql_fetch_row($cont);
$fullname = $dir.$cont;
$relname = $reldir.$cont;
//echo "{$HTTP_SERVER_VARS['DOCUMENT_ROOT']}/temp/proverka.doc";
//вывод файла с помощью fopen
$relname=fopen("{$HTTP_SERVER_VARS['DOCUMENT_ROOT']}proverka.doc","w");
if (!$relname)
{
echo("Ошибка открытия файла");
}
else
{
header('Content-Type: application/msdoc');
header('Content-Disposition: attachment; filename="file$id.doc"');
echo $cont;
exit();
} | |
|
|
|
|
|
|
|
для: Reta
(02.03.2007 в 17:46)
| | >header('Content-Type: application/msdoc');
Дело в том, что этой строкой вы задаёте тип файла, поэтому браузер "думает" что каждый из документов является Word-файлом, для изображения используется другой тип - у вас какие изображения? jpeg, gif, png? | |
|
|
|
|
|
|
|
для: cheops
(02.03.2007 в 18:50)
| | в базе хранятся файлы разных типов: и доки, и картинки, и pdf-формата... | |
|
|
|
|
|
|
|
для: Reta
(02.03.2007 в 19:15)
| | Значит все эти типы (application/msword, image/gif, text/pdf) Вамшему скрипту придется предъявлять.... | |
|
|
|
|
|
|
|
для: Trianon
(02.03.2007 в 19:57)
| | вот я и не совсем понимаю как это сделать лучше:( | |
|
|
|
|
|
|
|
для: Reta
(02.03.2007 в 20:26)
| | Вероятно придётся ввести дополнительное поле, в которое сохранять расширение файлов. | |
|
|
|