1) Base64-alternativ
Arbeta med en enda rad, image/png
för en png-bild och image/jpeg
för en jpg en :
echo '<img src="data:image/png;base64,'.base64_encode($blob).'"/>';
exempel:
<div style="background-color:black; text-align:center; padding: 5px;">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAwBAMAAACh2TSJAAAALVBMVEUAAADtNTX////3n5/+9fX719f7zMz5tLTzfHzuQED//f31jY3ybGzxXV3wVFRaxp+rAAAAAXRSTlMAQObYZgAAALVJREFUOMut0rENAjEQRNHdC4kY0QBaAQUQX0QAFSAKIKQEKiAA6VqgIkriApuV1x7pQPz0aWwHljLMpZ0CRDBGoXmeghGYKFJsUo90giAImCgV5OJF+oOgKE48MlGgs2VLBIunWesw0a1ZHqF82c7GmmIfUSpgotOly29DFPFJFDEhkgIT/V5mZuvj6XofKrHU6vyI4u37IYi36aN4h5tL7PJyif1dvCgEpapzISbCTEj5R78BZq5A5Ldh2XYAAAAASUVORK5CYII">
</div>
2) Dedikerad sida
Med många stora bilder på samma sida kanske base64 inte är det bra valet
Base64 är cool, men lite tung (vanligtvis ungefär dubbelt som binären värde kodat) och kan inte cachelagras av webbläsaren eftersom den är en del av sidan, och inte en sida i sig själv (som en bild).
I det här fallet är det bästa att använda en specifik php-sida för att visa din bild :
På huvudsidan använd istället för bas 64:echo '<img src="image.php?id='.$id.'"/>';
med id för raden du vill ha bilden.
På din image.php
, för det grundläggande bör du använda detta :
// << include the $pdo here
$query = $pdo->prepare("SELECT `content` FROM `adsubm` WHERE `id` = :id" );
$query->execute(array(':id'=>$_GET['id']));
$data = $query->fetch();
if(empty($data)))
header("HTTP/1.0 404 Not Found");
else {
header('Content-type: image/jpeg');
echo $data['content'];
}