Mysql
 sql >> Database >  >> RDS >> Mysql

Php:converte un BLOB in un file immagine

Puoi utilizzare alcuni metodi diversi a seconda della libreria di immagini php che hai installato. Ecco alcuni esempi.

Nota, l'eco è solo un trucco che uso per visualizzare più immagini dallo stesso script php durante il ciclo di una risorsa di risultati MySQL. Potresti anche emettere tramite header() come aveva mostrato @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())  . '" />';

GraphicsMagick (gMagick):

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