首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从firebird数据库获取后显示Blob内容

问从firebird数据库获取后显示Blob内容
EN

Stack Overflow用户
提问于 2019-01-07 17:31:31
回答 1查看 776关注 0票数 0

当我运行以下查询时

代码语言:javascript
复制
select first 1 IMG from img_lib;

我得到的输出为IMG 4cc:0 BLOB display set to subtype 1。

谁能帮助我的PHP代码,以显示的blob内容作为一个图像?我不认为MySQL会在这里工作,有人能帮我做火鸟查询吗?

EN

回答 1

Stack Overflow用户

发布于 2019-01-09 23:33:09

PHP提供了两个库来处理Firebird/Interbase数据库:Ibase和PDO。

Ibase提供了两种检索blobs的方法。一种是通过ibase_blob_get函数使用延迟加载:

代码语言:javascript
复制
if (is_null($field)) return null;
$info = ibase_blob_info($field);
$handle = ibase_blob_open($field);
return ibase_blob_get($handle, $info[0]);

当您只需要获取一些blob而不是所有blob时,这种方法是很好的,因为这是一个开销很大的操作。

另一种方法是在ibase_fetch_assoc函数中使用IBASE_TEXT获取标志参数或获取object / row。它将在fetch结果中直接返回blob内容。

第二个库是带有Firebird驱动程序的PDO,它自动获取blobs。

下一步,将BLOB内容加载到内存中后,需要将其作为图像输出。下面是一个示例代码,假设您使用的是jpeg图像格式:

代码语言:javascript
复制
<?php
// fetch here blob content described in previous methods
header('Content-Type: image/jpeg');
echo $blob_content;

稍后将图像源指向您的脚本,如<img src="blob_image.php" />

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54071681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档