1) Base64-optie
Werk met een enkele regel, image/png
voor een png-afbeelding en image/jpeg
voor een jpg:
echo '<img src="data:image/png;base64,'.base64_encode($blob).'"/>';
voorbeeld :
<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) Speciale pagina
Met veel grote afbeeldingen op dezelfde pagina, is de base64 misschien niet de goede keuze
Base64 is cool, maar een beetje zwaar (meestal rond twee keer zo binair waarde gecodeerd) en kan niet in de cache worden opgeslagen door de browser omdat het een deel van de pagina is en geen pagina op zich (zoals een afbeelding).
In dit geval kunt u het beste een specifieke php-pagina gebruiken om uw afbeelding weer te geven:
Gebruik op de hoofdpagina in plaats van base 64:echo '<img src="image.php?id='.$id.'"/>';
met de id van de regel die u de afbeelding wilt hebben.
Op je image.php
, voor de basis moet je dit gebruiken:
// << 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'];
}