Mysql
 sql >> Base de données >  >> RDS >> Mysql

Php :Convertir un blob en fichier image

Vous pouvez utiliser différentes méthodes en fonction de la bibliothèque d'images php que vous avez installée. Voici quelques exemples.

Notez que l'écho n'est qu'une astuce que j'utilise pour afficher plusieurs images du même script php lors d'une boucle sur une ressource de résultat MySQL. Vous pouvez tout aussi bien sortir via header() comme @NAVEED l'a montré.

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())  . '" />';