Anzeigen von BLOB-Bildern aus der MySQL-Datenbank
Bei Ihrer Suche nach der Anzeige von BLOB-Bildern aus Ihrer MySQL-Datenbank sind Sie auf ein Problem gestoßen, bei dem Ihre Die PHP-Seite zeigt das Bild als Binärdaten statt als tatsächliches Bild an. Schauen wir uns die Lösung zur Behebung dieses Problems genauer an.
Der Fehler, den Sie sehen, ist auf das Fehlen einer ordnungsgemäßen „Content-Type“-Header-Deklaration zurückzuführen. Dieser Header informiert den Browser über den erwarteten Datentyp der Antwort. In Ihrem Fall müssen Sie angeben, dass die Antwort ein Bild vom Typ „image/jpeg“ ist.
Inline Base64-Kodierung (empfohlen für begrenzte Bilder)
Für Bei einer kleinen Anzahl von Bildern können Sie die Inline-Base64-Kodierung verwenden. So können Sie es implementieren:
echo '<dt><strong>Technician Image:</strong></dt><dd>' . '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">' . '</dd>';
Erstellen einer Bild-PHP-Datei (empfohlen für zahlreiche Bilder)
Wenn Sie eine große Anzahl von Bildern anzeigen möchten, Ein besserer Ansatz besteht darin, eine separate PHP-Datei zu erstellen, die den Bildabruf und die Bildausgabe übernimmt. Ihre HTML- und PHP-Dateien würden so aussehen:
HTML:
<img src="image.php?id=<?php echo $image_id; ?>" />
PHP:
<?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; ?>
Durch die korrekte Angabe des „Content-Type“-Headers weisen Sie den Browser an, die Daten als Bild darzustellen und so Ihre Anzeige zu lösen Problem.
Das obige ist der detaillierte Inhalt vonWie zeige ich BLOB-Bilder aus einer MySQL-Datenbank in PHP an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!