加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel – 使用postgre bytea blob字段

发布时间:2020-12-14 19:43:17 所属栏目:大数据 来源:网络整理
导读:我在Laravel安装上使用PostgreSQL.表具有bytea类型字段,用于存储二进制数据(base64_encoded文件内容). 当我使用Eloquent检索表时,我得到一个在该字段中返回的资源类型变量. 我怎样才能将其作为字符串检索? $raw = Media::where('id','=',$id)-first();$raw-
我在Laravel安装上使用PostgreSQL.表具有bytea类型字段,用于存储二进制数据(base64_encoded文件内容).

当我使用Eloquent检索表时,我得到一个在该字段中返回的资源类型变量.

我怎样才能将其作为字符串检索?

$raw = Media::where('id','=',$id)->first();
$raw->file_data = base64_decode($raw->file_data);   // doesn't work

解决方法

由于这个问题的作者没有将详细信息发布到答案中,我将在此发布我的发现.

由于返回的字段是流的句柄,您可以使用stream_get_contents函数将值读入字符串,然后可以使用pg_unescape_bytea获取bytea数据的实际值.如果要在HTML中显示bytea数据,最后使用htmlspecialchars函数.

示例代码:

$my_bytea = stream_get_contents($resource);
$my_string = pg_unescape_bytea($my_bytea);
$html_data = htmlspecialchars($my_string);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读