ホームページ  >  記事  >  バックエンド開発  >  PHP で追加のテキストを含む MySQL BLOB イメージを表示すると、ランダムな文字が表示されるのはなぜですか?

PHP で追加のテキストを含む MySQL BLOB イメージを表示すると、ランダムな文字が表示されるのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-21 06:23:02384ブラウズ

Why Do Random Characters Appear When Displaying MySQL BLOB Images in PHP with Additional Text?

PHP を使用して MySQL BLOB に保存されている画像を表示する際のトラブル

提供されたPHP コードでは、画像の前後に追加のテキストがエコーされると問題が発生する可能性があります。画像が表示される代わりに、ランダムな文字が表示されます。

説明:

指定された解決策によると、この動作は、ブラウザがエコーされたテキストの前後で誤って解釈するために発生します。画像自体の一部としての画像データ。これによりエラーが発生し、意図した出力ができなくなります。

解決策:

画像と追加テキストの両方を正しく表示するには、画像データを Base64 形式に変換して埋め込みます。 HTML img タグ内に含めます:

<code class="php">echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['imageContent'] ) . '" />';
echo 'Hello world.';</code>

追加メモ:

このアプローチでは表示の問題は解決されますが、データ URI を使用して画像を埋め込むと、欠点:

  • キャッシュできないため、頻繁に使用する画像には望ましくありません。
  • 特にモバイル デバイスでは遅くなる可能性があります。

を参照してください。データ URI の詳細については、caniuse のドキュメントを参照してください。

以上がPHP で追加のテキストを含む MySQL BLOB イメージを表示すると、ランダムな文字が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。