小智 8
您可以使用几种不同的方法,具体取决于您安装的php图像库.这是一些例子.
注意,echo <img>只是我用来在循环MySQL结果资源时显示来自同一个php脚本的多个图像的技巧.您也可以通过header()输出,如@NAVEED所示.
GD:
$image = imagecreatefromstring($blob);
ob_start(); //You could also just output the $image via header() and bypass this buffer capture.
imagejpeg($image, null, 80);
$data = ob_get_contents();
ob_end_clean();
echo '<img src="data:image/jpg;base64,' . base64_encode($data) . '" />';
Run Code Online (Sandbox Code Playgroud)
ImageMagick(iMagick):
$image = new Imagick();
$image->readimageblob($blob);
echo '<img src="data:image/png;base64,' . base64_encode($image->getimageblob()) . '" />';
Run Code Online (Sandbox Code Playgroud)
GraphicsMagick(gMagick):
$image = new Gmagick();
$image->readimageblob($blob);
echo '<img src="data:image/png;base64,' . base64_encode($image->getimageblob()) . '" />';
Run Code Online (Sandbox Code Playgroud)
如果BLOB包含图像的二进制数据(以可识别的格式,例如tiff,png,jpeg等),则获取BLOB的内容,将其写入文件,然后vo ...你得到了一个图像.
在某些奇怪的操作系统上,您必须为输出文件提供相应的扩展名,以便可以识别图像文件.