sql >> Database >  >> RDS >> Mysql

BLOB-afbeelding uit Mysql-database weergeven in dynamische div in html

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'];
}



  1. MySQL hoe tabellen op twee velden samen te voegen

  2. Maak verbinding met mysql op Amazon EC2 vanaf een externe server

  3. Hoe Distributed AD te gebruiken om de patchtijd in Oracle EBS te verkorten

  4. tabel werkt lege spaties bij wanneer de gebruiker niets in het tekstvak invoert