Anzeigen eines in einem MySQL-BLOB gespeicherten Bildes
Beim Versuch, ein als BLOB in einer MySQL-Datenbank gespeichertes Bild mit dem bereitgestellten PHP anzuzeigen Code haben Benutzer ein Problem festgestellt, bei dem die Ausgabe von Text oder Inhalten vor oder nach dem Bild zu Anzeigefehlern führt. Dieser Artikel befasst sich mit diesem Problem und stellt eine Lösung vor, um zusätzliche Elemente neben dem Bild anzuzeigen.
Der ursprüngliche Code:
<code class="php">include("inc/library.php"); connectToDatabase(); $sql = "SELECT * FROM theBlogs WHERE ID = 1;"; $result = mysql_query($sql) or die(mysql_error()); $row = mysql_fetch_array($result); header("Content-type: image/jpeg"); echo $row['imageContent']; $db->close();</code>
Versuche, den Bildinhalt direkt auf der Seite wiederzugeben, stoßen jedoch auf Probleme, wenn andere Inhalte davor oder danach ausgegeben werden.
Lösung
Das Problem entsteht, weil Browser jeden Text oder Inhalt außerhalb der Bilddaten als Teil davon betrachten das Bild. Um dieses Problem zu beheben, können die Bilddaten in Base64 konvertiert und in ein eingebettet werden. Tag.
<code class="php">echo '<img src="data:image/jpeg;base64,' . base64_encode($row['imageContent']) . '" />'; echo 'Hello world.';</code>
Diese Lösung konvertiert die Bilddaten in Base64 und platziert sie in einem Tag, der die korrekte Anzeige des Bildes ermöglicht und gleichzeitig die Ausgabe zusätzlicher Inhalte auf der Seite ermöglicht.
Hinweis: Dieser Ansatz funktioniert zwar, ist jedoch für Leistung und Caching nicht optimal. Es wird empfohlen, alternative Lösungen für die Anzeige von als BLOBs in MySQL-Datenbanken gespeicherten Bildern zu erkunden, beispielsweise die Verwendung von Caching-Mechanismen oder externen Bildservern.
Das obige ist der detaillierte Inhalt vonWie zeige ich ein als MySQL-BLOB gespeichertes Bild zusammen mit anderen Inhalten an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!