Firebird+PHP - можно ли работать с BLOB

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
starling13
Сообщения: 8
Зарегистрирован: 02 мар 2005, 14:56

Firebird+PHP - можно ли работать с BLOB

Сообщение starling13 » 20 мар 2005, 23:32

Необходимо выводить на страницу текст, хранящийся в поле BLOB.
Вот такая штука дала ерунду:

Код: Выделить всё

while ($row = ibase_fetch_object($db_qry_rslti))
                           {
                            print $row->FB_BLOB_SBTYP_TEXT_FLD;
                           }
Чего она вернула, я не понял - но это не зависело от содержимого поля - может указатель, но интересно куда?
Возможно ли вообще работать с BLOB полями IB/FB функциями php_ibase?

Огромное спасибо всем, кто ответит.

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 21 мар 2005, 15:44

конечно можно, для этого куча функций. Цитирую

base_blob_add -- Add data into a newly created blob
ibase_blob_cancel -- Cancel creating blob
ibase_blob_close -- Close blob
ibase_blob_create -- Create a new blob for adding data
ibase_blob_echo -- Output blob contents to browser
ibase_blob_get -- Get len bytes data from open blob
ibase_blob_import -- Create blob, copy file in it, and close it
ibase_blob_info -- Return blob length and other useful info
ibase_blob_open -- Open blob for retrieving data parts

попробуй ibase_blob_echo

контролируй выводимый формат с помощью заголовков протокола, он должен соответствовать формату в блобе

для текста Header("Content-Type : text/html")
для картинок *.png - Header("Content-Type :image/png")

Сергей
Сообщения: 13
Зарегистрирован: 10 ноя 2004, 10:35

Re: Firebird+PHP - можно ли работать с BLOB

Сообщение Сергей » 23 мар 2005, 19:19

starling13 писал(а):Необходимо выводить на страницу текст, хранящийся в поле BLOB.

Возможно ли вообще работать с BLOB полями IB/FB функциями php_ibase?
Работать с BLOB полями возможно. Твой пример должен быть примерно следующим.

Код: Выделить всё

while ($row = ibase_fetch_object($db_qry_rslti)) {

    $blob = ibase_blob_open($row->FB_BLOB_SBTYP_TEXT_FLD);
    $info = ibase_blob_info($row->FB_BLOB_SBTYP_TEXT_FLD);
    print = ibase_blob_get($blob, $info[0]);
    ibase_blob_close($blob);
}

starling13
Сообщения: 8
Зарегистрирован: 02 мар 2005, 14:56

Всем большое спасибо

Сообщение starling13 » 01 апр 2005, 23:43

Действительно, имеется богатый набор функций. В заблуждение ввел help
к PHP Editor 1.5.
Даже не знаю, к какой версии он относится, но там описана треть функций php_ibase или ещё меньше.

Ответить