Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Php :Konvertieren Sie ein Blob in eine Bilddatei

Je nachdem, welche PHP-Bildbibliothek Sie installiert haben, können Sie verschiedene Methoden verwenden. Hier sind ein paar Beispiele.

Beachten Sie, dass echo nur ein Trick ist, den ich verwende, um mehrere Bilder aus demselben PHP-Skript anzuzeigen, wenn ich eine MySQL-Ergebnisressource durchlaufe. Sie könnten genauso gut über header() ausgeben, wie @NAVEED gezeigt hatte.

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