ホームページ >バックエンド開発 >PHPチュートリアル >MySQL BLOB として保存された画像を他のコンテンツとともに表示するにはどうすればよいですか?
MySQL BLOB に保存された画像の表示
提供された PHP を使用して、MySQL データベースに BLOB として保存された画像を表示しようとする場合コードを使用すると、画像の前後にテキストやコンテンツを出力すると表示エラーが発生するという問題が発生しました。この記事では、この問題に対処し、画像の横に追加の要素を表示する解決策を紹介します。
元のコード:
<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>
ページ内で画像コンテンツを直接エコーアウトしようとしますが、次のような問題が発生します。他のコンテンツが前後に出力される場合に問題が発生します。
解決策
この問題は、ブラウザが画像データ以外のテキストやコンテンツを画像データの一部と見なすために発生します。画像。これを解決するには、画像データを Base64 に変換し、 内に埋め込むことができます。
<code class="php">echo '<img src="data:image/jpeg;base64,' . base64_encode($row['imageContent']) . '" />'; echo 'Hello world.';</code>
このソリューションは、画像データを Base64 に変換し、 タグに配置します。
注: このアプローチは機能しますが、パフォーマンスとキャッシュの面では最適ではありません。 MySQL データベースに BLOB として保存された画像を表示するための代替ソリューション (キャッシュ メカニズムや外部画像サーバーの使用など) を検討することをお勧めします。
以上がMySQL BLOB として保存された画像を他のコンテンツとともに表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。