Heim > Artikel > Backend-Entwicklung > Warum erscheinen zufällige Zeichen, wenn MySQL-BLOB-Bilder in PHP mit zusätzlichem Text angezeigt werden?
Probleme beim Anzeigen von in MySQL BLOB gespeicherten Bildern mit PHP
Beim Versuch, ein in einer MySQL-Datenbank gespeichertes Bild als BLOB mithilfe des bereitgestellten anzuzeigen PHP-Code verwenden, können Benutzer auf Probleme stoßen, wenn zusätzlicher Text vor oder nach dem Bild wiedergegeben wird. Anstatt das Bild anzuzeigen, werden zufällige Zeichen angezeigt.
Erklärung:
Gemäß der angegebenen Lösung tritt dieses Verhalten auf, weil der Browser Text, der vor oder nach dem wiedergegeben wird, falsch interpretiert Bilddaten als Teil des Bildes selbst. Dies führt zu einem Fehler und verhindert die beabsichtigte Ausgabe.
Lösung:
Um sowohl das Bild als auch den zusätzlichen Text korrekt anzuzeigen, konvertieren Sie die Bilddaten in das Base64-Format und betten Sie sie ein es innerhalb eines HTML-img-Tags:
<code class="php">echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['imageContent'] ) . '" />'; echo 'Hello world.';</code>
Zusätzliche Hinweise:
Während dieser Ansatz das Anzeigeproblem behebt, ist es wichtig zu beachten, dass das Einbetten von Bildern mithilfe von Daten-URIs Probleme mit sich bringt Nachteile:
Siehe Weitere Informationen zu Daten-URIs finden Sie in der Caniuse-Dokumentation.
Das obige ist der detaillierte Inhalt vonWarum erscheinen zufällige Zeichen, wenn MySQL-BLOB-Bilder in PHP mit zusätzlichem Text angezeigt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!