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

Ich brauche meine PHP-Seite, um mein BLOB-Bild aus der MySQL-Datenbank anzuzeigen

In Ihrem aktuellen Fall haben Sie zwei Voraboptionen.

Die erste, die ich nicht empfehle, wenn Sie zahlreiche Bilder wie dieses haben, ist die Verwendung der Inline-Base64-Codierung. Dies geschieht mit:

<img src="data:image/jpeg;base64,<?php echo base64_encode($image); ?>" />

Eine Copy/Paste-Version unter Verwendung Ihres vorhandenen Codes:

echo '<dt><strong>Technician Image:</strong></dt><dd>'
     . '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">'
     . '</dd>';

Die zweite Methode besteht darin, eine „Bild“-PHP-Datei zu erstellen, die die ID des Bilds in der Datenbank als Abfragezeichenfolgenparameter verwendet und das Bild ausgibt. Ihr HTML-Code würde also etwa so aussehen:

<img src="image.php?id=<?php echo $image_id; ?>" />

Und Ihre PHP-Seite würde in etwa so aussehen:

<?php
$id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;
$image = getImageFromDatabase($id); // your code to fetch the image

header('Content-Type: image/jpeg');
echo $image;
?>