我已经将数据以base64格式存储在数据库中(存储格式:数据:image / jpeg; base64,/ 9j / 4AAQSkZJR )现在我想要使用PHP从数据库返回图像,我使用了所有方法,但没有用。
我目前的方法是
答案 0 :(得分:0)
你需要做的是从db读取base64并用它来创建一个图像文件,这是一个从base64创建jpeg图像的函数
function base64_to_jpeg($base64, $jpeg) {
$fp = fopen($jpeg, 'wb');
$data = explode(',', $base64);
fwrite($fp, base64_decode($data[1]));
fclose( $fp );
return $jpeg;
}
并且该函数将返回jpeg文件对象
答案 1 :(得分:0)
可能此解决方案适合您:
How to decode a base64 string (gif) into image in PHP / HTML
引用该来源但修改: 如果你去掉第一个案例并选择解码字符串,你应该在回复解码的图像数据之前添加它:
header("Content-type: image/gif");
$data = "/9j/4AAQSkZJRgABAQEAYABgAAD........";
echo base64_decode($data);
在第二种情况下,请改用:
echo '<img src="data:image/gif;base64,' . $data . '" />';
第二种情况很糟糕,因为如果在多个页面上显示相同的图像,浏览器不会执行缓存。