PHP:从二进制显示JPG
我有一个jpg blob,它存储在一个外部数据库中,我希望通过php将其显示为一个图像。问题是,每当我将PHP:从二进制显示JPG,php,image,binary,jpeg,blob,Php,Image,Binary,Jpeg,Blob,我有一个jpg blob,它存储在一个外部数据库中,我希望通过php将其显示为一个图像。问题是,每当我将内容类型设置为图像/jpeg并回显blob时,我就会在浏览时看到损坏的图像图标 我已经尝试过通过sublime从头开始创建文件,当我将其保存为十六进制文件时,它就起作用了,因此我知道数据是有效的 我曾尝试让脚本创建一个文件,但它设置了charset=us ascii,因此它不会被视为图像文件 有没有人有使用原始图像二进制文件的经验?有人知道如何显示图像,甚至将其保存到文件中吗 提前谢谢 顺便说
内容类型设置为图像/jpeg
并回显blob时,我就会在浏览时看到损坏的图像图标
我已经尝试过通过sublime从头开始创建文件,当我将其保存为十六进制文件时,它就起作用了,因此我知道数据是有效的
我曾尝试让脚本创建一个文件,但它设置了charset=us ascii
,因此它不会被视为图像文件
有没有人有使用原始图像二进制文件的经验?有人知道如何显示图像,甚至将其保存到文件中吗
提前谢谢
顺便说一下,我会提供二进制文件,但它太大了,不能放在这里
编辑:(添加了一些代码)
试试$im=imagecreatefromstring($data)
通过imagejpeg($im)输出它
尝试$im=imagecreatefromstring($data)
通过imagejpeg($im)输出它代码>在继续研究之后,我发现了这篇文章
我用下面的代码解决了这个问题
<?php
header('Content-Type: image/jpeg;');
$data = 'The hex data';
$data = pack('H*',$data);
$im = imagecreatefromstring($data);
imagejpeg($im);
?>
在继续研究之后,我发现了这篇文章
我用下面的代码解决了这个问题
<?php
header('Content-Type: image/jpeg;');
$data = 'The hex data';
$data = pack('H*',$data);
$im = imagecreatefromstring($data);
imagejpeg($im);
?>
@Dagon Done。。。不知道有多少帮助。@Dagon完成了。。。不确定这有多大帮助。您可能需要使用类似于$data=unpack('H',$data)的函数将二进制字符串转换为字符字符串在创建图像之前,可能需要使用函数将二进制字符串转换为字符字符串,如$data=unpack('H',$data)代码>创建图像之前。