sql >> Base de Datos >  >> RDS >> Mysql

Php:convierte un blob en un archivo de imagen

Puede usar algunos métodos diferentes según la biblioteca de imágenes php que haya instalado. Aquí hay algunos ejemplos.

Tenga en cuenta que el eco es solo un truco que uso para mostrar varias imágenes del mismo script php cuando recorro un recurso de resultados de MySQL. También podría generar una salida a través del encabezado () como lo había mostrado @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)  . '" />';

ImageMagick (iMagick):

$image = new Imagick();
$image->readimageblob($blob);
echo '<img src="data:image/png;base64,' .  base64_encode($image->getimageblob())  . '" />';

Magia gráfica (gMagick):

$image = new Gmagick();
$image->readimageblob($blob);
echo '<img src="data:image/png;base64,' .  base64_encode($image->getimageblob())  . '" />';