ホームページ >データベース >mysql チュートリアル >MySQL BLOB からテキストと一緒に画像を取得すると、画像が正しく表示されないのはなぜですか?
MySQL BLOB から取得するときの画像表示の問題について
MySQL データベースに BLOB として保存されている画像を取得する場合、追加のコンテンツと一緒に画像を表示すると、現在の課題。画像を表示する前にテキストを出力しようとすると、一般的な問題が 1 つ発生します。この問題により、画像が非表示になったり、正しく表示されなくなる可能性があります。
この問題は、BLOB の性質に起因します。データが BLOB に格納されると、データはバイナリ ラージ オブジェクトとして扱われます。画像を出力するためにヘッダーが送信されると、後続のテキスト出力はバイナリ データの一部とみなされます。これにより、ブラウザで予期しない動作が発生する可能性があります。
解決策
この問題を解決して画像と他のテキストの両方を表示するには、解決策の 1 つは BLOB 画像コンテンツを変換することです。 Base64形式に変換します。 Base64 エンコーディングにより、画像をテキスト文字列として表すことができます。
echo '<img src="data:image/jpeg;base64,' . base64_encode($row['imageContent']) . '" />'; echo 'Hello world.';
画像データを Base64 でエンコードすることにより、付随するテキスト出力がある場合でも、ブラウザーはそれを画像として認識できるようになります。この方法では、画像と追加コンテンツの両方を表示できます。
この方法を使用するとパフォーマンスに影響を与える可能性があり、大きな画像や頻繁に表示される画像には理想的ではないことに注意してください。最適なパフォーマンスを得るには、画像をデータベースの外部に別のファイルとして保存することを検討してください。
以上がMySQL BLOB からテキストと一緒に画像を取得すると、画像が正しく表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。