gpt4 book ai didi

PHP如何将BLOB数据放入数组

转载 作者:行者123 更新时间:2023-11-29 12:39:36 24 4
gpt4 key购买 nike

我正在开发一个 PHP 脚本,它从 MYSQL 数据库读取数据。使用 phpmyadmin 我可以看到所有数据都在数据库中并且格式正确。

数据库由文本列和 blob 列组成。

我现在来读回这些数据。我使用了以下代码。

$query = @"SELECT TEXT1, TEXT2, TEXT3, IMAGE FROM EXAMPLETABLE";

执行所有 sql 调用

现在,如果我执行以下命令,它将用文本填充数组,但图像/blob 位中为空

while($row = mysql_fetch_array($result))
{
$posts[] = array($row['TEXT1'], $row['TEXT2'], $row['TEXT3'], $row['IMAGE']);
}

通过 Safari 获取的结果

[["Gbv","TR","FG",null]]

如果我执行以下操作,我会得到图像数据。

while($row = mysql_fetch_array($result))
{
ECHO $row['IMAGE'];
}

编辑因此,在再次查看代码(今天一直在努力工作)之后,我注意到我通过以下方式发送了数组 echo json_encode($posts);

json_encode 弄乱了 blob 数据。

谢谢

最佳答案

从 blob 创建图像,捕获输出缓冲内容,转换为 jpeg,从缓冲区获取内容,结束输出缓冲,将图像插入数组。

$image = imagecreatefromstring($row['IMAGE']); 
ob_start(); //start capture of the output buffer
imagejpeg($image, null, 80);
$data = ob_get_contents();
ob_end_clean();
$posts[] = array('text'1 => $row['TEXT1'], 'text2' => $row['TEXT2'], 'text3' => $row['TEXT3'], 'image' => $data);

然后做类似的事情:

foreach($posts as $post):
echo '<img src="data:image/jpg;base64,' . base64_encode($post['image']) . '" />';
endforeach;

这应该适合你。

关于PHP如何将BLOB数据放入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26307699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com