So zeigen Sie BLOB-Bilder aus einer MySQL-Datenbank in PHP an
Sie versuchen, BLOB-Bilder aus einer MySQL-Datenbank in PHP anzuzeigen, stoßen jedoch auf Fehler . Sehen wir uns zwei Optionen an, um das Problem zu lösen:
Option 1: Inline-Base64-Kodierung
echo '<dt><strong>Technician Image:</strong></dt><dd>'; echo '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">'; echo '</dd>';
Diese Methode kodiert das BLOB-Bild in einen Base64-String und bettet ihn direkt ein in den HTML-Code. Dieser Ansatz wird jedoch für eine große Anzahl von Bildern nicht empfohlen.
Option 2: Bildausgabe-PHP-Datei
Erstellen Sie eine image.php-Datei mit dem folgenden Code:
<?php $id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0; $image = getImageFromDatabase($id); // Your function to fetch the image from the database header('Content-Type: image/jpeg'); echo $image; ?>
In Ihrem HTML:
<img src="image.php?id=<?php echo $image_id; ?>" />
Diese Methode ruft das Bild aus der Datenbank ab und sendet es direkt an Der Browser stellt sicher, dass der richtige MIME-Typ eingestellt ist (image/jpeg). Die Kopfzeile:
header('Content-Type: image/jpeg');
weist den Browser an, die Ausgabe als Bild zu interpretieren und entsprechend anzuzeigen. Dadurch wird das Problem mit binären JPEG-Daten behoben, das Sie hatten.
Das obige ist der detaillierte Inhalt vonWie zeige ich BLOB-Bilder von MySQL in PHP an: Base64-Kodierung vs. separate Bilddatei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!