使用PHP查看HTML中的base64编码blob

时间:2011-12-14 02:21:52

标签: php html image base64 blob

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

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

    <?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。

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

3 个答案:

答案 0 :(得分:4)

试试这个:

echo '<img src="data:image/png;base64,'.base64_encode($blob_data).'">';

答案 1 :(得分:0)

您可以使用mysql cast or convert功能。您还可以尝试bin2hex PHP函数。

答案 2 :(得分:0)

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

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


注意:最好将文件存储为文件系统中的图像,以及数据库中的文件路径,而不是仅将图像直接存入数据库

您可以使用您想要的任何文件路径,甚至可以从文档根目录外部使用(尽管应该注意不要允许遍历/显示敏感文件):

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

  $file_path = $row[0];

  echo file_get_contents($file_path);

}