Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Подскажите, как вытащить из MySQL бинарный doc и открыть WORD'ом?

15K
14 апреля 2007 года
Vert
37 / / 18.01.2007
в базе есть бинарные файлы doc, надо вытащить оттуда один файл и открыть вордом, программеры, подскажите плиз, очень надо!!!

 
Код:
$result = mysql_query("SELECT * FROM blob_tbl WHERE id='15' ORDER BY id",$db);
$file = mysql_result($result, $myrow["1"]);
header("Content-type: application/msword");
echo $file;

$myrow["1"] - (body) типа blob

что не так??? предлагает открыть-сохранить файл ворда, но по содержанию какой-то левый... не тот что в базе... причём, видимо, этот файл со всем содержимым он создал во время выполнения скрипта... в файле записаны все echo
15K
18 апреля 2007 года
Vert
37 / / 18.01.2007
хелп!!!!
92
18 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: Vert
в базе есть бинарные файлы doc, надо вытащить оттуда один файл и открыть вордом, программеры, подскажите плиз, очень надо!!!



Код:
$filename = 'file_name';
$result = mysql_query("SELECT * FROM blob_tbl WHERE id='15' ORDER BY id",$db);
if ($row = mysql_fetch_array($result)) {
  $file = $myrow[1]; // ну или какой у тебя там индекс поля...
  header("Content-type: application/msword");
  header('Content-Disposition: attachment; filename="'.$filename.'.doc"');
  header("Content-Length: ".strlen($file));
  echo $file;
} else {
  echo "Невозможно открыть файл.";
}


я думаю сканает... табличку создавать не хочется... если не будет работать, скажи... подправим.

или я что-то упустил и у тебя так сделано?.. просто я не понял откуда взялся твой $myrow... :confused:
15K
18 апреля 2007 года
Vert
37 / / 18.01.2007
что-то не хочет он работать... выскакивает запрос на открытие-сохранение файла (с указанным названием, неизвестного размера), после попытки открытия, пишет не найден... сохранение - аналогично...
индекс поля вроде тот, то бишь $myrow[1]
в таблице всего 2 поля - ID(0) и Body(blob)(1) если я не ошибаюсь...
а в настройках php надо что-нибудь прописывать? подобная ошибка у меня уже выскакивала, то бишь до этого уже доходил и мучал, но ни к чему толковому не пришёл... причём скрипт у моего знакомого работал нормально, а у меня никак....
239
18 апреля 2007 года
Dolonet
1.7K / / 20.05.2000
Посмотрите все headers, которые были выведены
92
18 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: Vert
что-то не хочет он работать... выскакивает запрос на открытие-сохранение файла (с указанным названием, неизвестного размера), после попытки открытия, пишет не найден... сохранение - аналогично...


ну попробуй Content-type: application/octet-stream сделать, в этом случае даже CSV файл отдаётся на сохранение, хоть он и текстовый. ой... не то... у тебя же всё равно онсохраняется файл... тьфу ))) простите :rolleyes:

а если размер неизвестен.... хммм.... слушай, а проверь точно, "кушаешь" ты с БД бинарник или нет вообще =) а то сохранить-то это не проблема ) а вот проверить правильно ли ты берешь значение поля в табличке или нет поможет только дамп таблицы... хмм... да, наверное всё.

PS: кстати. проверь еще, запись вообще хоть одна из таблицы по запросу приходит или нет (mysql_num_rows())

Цитата: Vert

индекс поля вроде тот, то бишь $myrow[1]
в таблице всего 2 поля - ID(0) и Body(blob)(1) если я не ошибаюсь..


вот это очень не хорошо ) как ты пишешь скрипт если даже структуру таблицы не знаешь....... :(

Цитата: Vert
а в настройках php надо что-нибудь прописывать?


не уверен что это поможет ) всё дело в header'ах...

15K
19 апреля 2007 года
Vert
37 / / 18.01.2007
Цитата: Тень Пса

вот это очень не хорошо ) как ты пишешь скрипт если даже структуру таблицы не знаешь....... :(


так вот в этом-то всё и дело, что до того как столкнулся с проблемой был уверен на 100%, а теперь, когда должно работать, но не работает, я уже начал сомневаться...
mysql_num_rows($result) - выдала 12, то бишь столько же записей в каждом поле (id, body)
может есть ещё какие-нибудь способы получить адрес записи, кроме как $myrow[] ???
запросил mysql_fieldname($result, 1) получил body - как и думал...

15K
19 апреля 2007 года
Vert
37 / / 18.01.2007
Цитата: Dolonet
Посмотрите все headers, которые были выведены


то есть? кроме тех, что мне писал Тень Пса, больше никаких нет

15K
19 апреля 2007 года
Vert
37 / / 18.01.2007
в таблице как-нибудь надо индексы полей проставлять? базу писал не я... просмотрел другие таблицы, с которыми работал через индексы - ничего подобного не заметил... может для блоба нужен другой подход?
уже не знаю что и думать...
15K
19 апреля 2007 года
Vert
37 / / 18.01.2007
заменил $myrow[4] на $row["body"] и теперь вытаскивает нужный файл
впринципе, практически никаких отличий от кода товарища Тень Пса нету
Код:
<?
$db = mysql_connect ("localhost" , "root" , "root");
mysql_query("SET NAMES 'utf8'", $db);
mysql_select_db("clover_db",$db);
$result = mysql_query("SELECT * FROM blob_tbl WHERE id='1' ORDER BY id",$db);

$filename = 'manual';
if ($row = mysql_fetch_array($result))
{
    $file = $row["body"];
    header("Content-type: application/msword");
    header('Content-Disposition: attachment; filename="'.$filename.'.doc"');
    header("Content-Length: ".strlen($file));
    echo $file;
}
    else
{
    echo "Невозможно открыть файл.";
}

mysql_close();
?>


огромное спасибо за помощь!!! :)
92
19 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
не за что :) чегой-то и я не сообразил сразу что лучше использовать имя поля, чем его индекс.

PS: с тебя клик на весы :D :rolleyes:
15K
23 апреля 2007 года
Vert
37 / / 18.01.2007
ещё трабл.... кто знает как c помощью пхп прочитать doc файл, чтобы вытащить оттуда одну(две) строчку??
92
23 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: Vert
ещё трабл.... кто знает как c помощью пхп прочитать doc файл, чтобы вытащить оттуда одну(две) строчку??




http://forums.devarticles.com/php-development-48/using-php-to-read-word-documents-doc-txt-files-7319.html - с 6го поста читать )))

15K
23 апреля 2007 года
Vert
37 / / 18.01.2007
не совсем понял о чём там речь, ибо с английским so so :) по коду посмотрел и не уверен, что это мне может чем-то помочь, хотя всё равно спасибо :)
это является неким продолжением предыдущего вопроса "как вытащить из MySQL бинарный doc и открыть WORD'ом", только теперь мне не надо его открывать вордом, а вытащить 1-2 строки из doc. файла и отразить их в форме... ещё надо будет как-то перевести из бинарного вида в нормальный...
есть мысли? :)
15K
23 апреля 2007 года
Vert
37 / / 18.01.2007
чё-то я маленько протупил.. )) суть ссылки уловил.. :)
только ещё вопрос, есть доки по COM'у? не нашёл вообще ничего
253
23 апреля 2007 года
Proger_XP
1.5K / / 07.08.2004
Ну конечно слона ты и не заметил
http://www.php.net/manual/ru/ref.com.php
15K
24 апреля 2007 года
Vert
37 / / 18.01.2007
подскажите, пожалуйста, можно мне как-нибудь отобразить в браузере вордоский документ со всем текстом, рисунками, таблицами????!!!! это очень важно!!!!
92
24 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: Vert
подскажите, пожалуйста, можно мне как-нибудь отобразить в браузере вордоский документ со всем текстом, рисунками, таблицами????!!!! это очень важно!!!!




оооо ) вот тут ты конечно жжош! =)) хз, но например Abobe Acrobat Reader грузится как бы внутри браузера... а вот Word.....по-моему тока в IE такое возможно... тока если честно я не знаю как...

PS: ну напиши свой рендеррер DOC формата :D /*шучу конечно ;)*/

253
24 апреля 2007 года
Proger_XP
1.5K / / 07.08.2004
Цитата: Тень Пса
PS: ну напиши свой рендеррер DOC формата /*шучу конечно ;)*/


Ты так лучше не шути, а то ведь не поймет и тебя же самого будет про это спрашивать ;) :D :D

239
24 апреля 2007 года
Dolonet
1.7K / / 20.05.2000
Вы нашли друг друга ;)

ЗЫ как модератор не могу не заметить, что это флуд :/
92
25 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
http://www.phpclasses.org/browse/package/2586.html

я думаю что среди файлов OOffice найдётся DOC-формат... поэтому самый простой способ сконвертить его в HTML...

а вообще, поищи здесь по словам "doc to html, rtf to html" или что-то подобное

http://www.phpclasses.org/
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог