首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PHP查看base64编码的blob

问用PHP查看base64编码的blob
EN

Stack Overflow用户
提问于 2011-12-14 10:21:52
回答 3查看 13.2K关注 0票数 3

有一点麻烦,我试图查看一个base64编码的图像,这是作为一个斑点保存在我的服务器上。我想用一个image标签在里面查看它,或者将它回显为一个html文件,我可以用image标签来引用它。

问题是blob数据从我的服务器返回错误。

代码语言:javascript
复制
    <?php

       $select = "SELECT `data` 
               FROM  `sandbox`.`photos` 
               WHERE `id` = 4
               LIMIT 0 , 1";

        $result = mysql_query($select, $connection);



         while($row = mysql_fetch_array( $result )){

           $blob_data = $row[0];

           echo "$blob_data";

           }

    ?>

问题是这个返回了5.533782782 * E。

如何将其视为图像?我需要对它进行反编码吗?

EN

回答 3

Stack Overflow用户

发布于 2011-12-14 10:37:29

试试这个:

代码语言:javascript
复制
echo '<img src="data:image/png;base64,'.base64_encode($blob_data).'">';
票数 4
EN

Stack Overflow用户

发布于 2011-12-14 10:28:41

您可以使用mysql的cast or convert函数。您也可以尝试使用bin2hex PHP函数。

票数 0
EN

Stack Overflow用户

发布于 2011-12-14 10:32:30

数据库并不具有创造性-它们存储的数据与您放入的数据几乎完全相同,然后检索该数据。

这意味着,如果在插入数据之前将数据编码到base64中,则必须从base64中解码才能获得有意义的信息。

注意:最好将文件作为映像存储在文件系统中,并将文件路径存储在数据库中,而不是直接将映像放入数据库中

您可以使用所需的任何文件路径,甚至可以从文档根目录之外使用(但应注意不允许遍历/显示敏感文件):

代码语言:javascript
复制
while($row = mysql_fetch_array( $result )){

  $file_path = $row[0];

  echo file_get_contents($file_path);

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

https://stackoverflow.com/questions/8498843

复制
相关文章

相似问题

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