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

Abrufen von BLOB-Bilddaten aus MySQL in PHP

Sie können Bilder in Ihrer Datenbank speichern, wenn Sie möchten (obwohl nichts dagegen spricht, sie nur als Dateien zu speichern, wählen Sie, was in Ihrer Situation angemessen ist), aber speichern Sie die rohen Binärdaten in einem BLOB (dh codieren Sie sie nicht mit base64). Sie können die Binärdaten, die Sie von file_get_contents erhalten, einbetten direkt in Ihre Abfrage, vorausgesetzt, Sie verwenden die richtige Escape-Funktion (mysql_real_escape_string in Ihrem Fall) zuerst.

Was die Ausgabe des Bildes betrifft, können Sie es so machen, wie Sie es jetzt tun, aber Sie müssen es base64-codiert und mit einem data ausgeben URI-Schema wie folgt:

echo '<img alt="embedded image" src="data:image/png;base64,' . chunk_split(base64_encode($get_pics2['img_location'])) . '">';

Beachten Sie, dass eingebettete Bilddaten einige Vor- und Nachteile haben. Einige wichtige Nachteile, die Sie beachten sollten, sind der erhebliche Overhead der base64-Codierung (ca. 33 % größer als das Original) und potenzielle Caching-Probleme.