sql >> Databáze >  >> RDS >> Mysql

Zobrazení obrázku BLOB z databáze Mysql do dynamického div v html

1) Možnost Base64

Pracujte s jedním řádkem, image/png pro obrázek png a image/jpeg pro jpg:

echo '<img src="data:image/png;base64,'.base64_encode($blob).'"/>';

příklad :

<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) Vyhrazená stránka

S mnoha velkými obrázky na stejné stránce nemusí být base64 tou správnou volbou

Base64 je cool, ale trochu těžký (obvykle přibližně dvakrát jako binární value encoded) a nelze uložit do mezipaměti prohlížečem, protože je součástí stránky, nikoli samotnou stránkou (jako obrázek).

V tomto případě je nejlepší použít pro zobrazení obrázku konkrétní php stránku:

Na hlavní stránce použijte místo základu 64:echo '<img src="image.php?id='.$id.'"/>'; s ID řádku, na kterém chcete obrázek.

Na vašem image.php , pro základní byste měli použít toto :

// << 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. Průvodce pro začátečníky uloženými procedurami s MySQL?

  2. Příkaz where v laravel rozlišuje velká a malá písmena

  3. Woocommerce:Uživatelé mohou koupit produkt pouze jednou

  4. Aktualizace databáze sqlite pro android