And*_*ndy 4 php postgresql-9.1 laravel
我在Laravel安装上使用PostgreSQL.表具有bytea类型字段,用于存储二进制数据(base64_encoded文件内容).
当我使用Eloquent检索表时,我得到一个在该字段中返回的资源类型变量.
我怎样才能将其作为字符串检索?
$raw = Media::where('id','=',$id)->first();
$raw->file_data = base64_decode($raw->file_data); // doesn't work
Run Code Online (Sandbox Code Playgroud)
小智 6
由于这个问题的作者没有将详细信息发布到答案中,我将在此发布我的发现.
由于返回的字段是流的句柄,您可以使用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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4117 次 |
| 最近记录: |