ホームページ >データベース >mysql チュートリアル >PHP で MySQL からのイメージ BLOB を正しく表示するにはどうすればよいですか?

PHP で MySQL からのイメージ BLOB を正しく表示するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-14 12:47:14595ブラウズ

How to Correctly Display Image BLOBs from MySQL in PHP?

PHP Display Image BLOB from MySQL

MySQL BLOB 列に格納されている画像を表示しようとすると、一部のユーザーで Chrome やIE では、実際の画像の代わりに画像アイコンが表示されます。これは、適切なエンコードとバイナリ画像データの処理が不足していることが原因である可能性があります。

解決策

PHP で画像 BLOB を表示する正しい方法には、次の手順が含まれます。

  • の準備データ:

    • クエリを使用して MySQL データベースから画像データを取得します (例: SELECT * FROM products WHERE id = ?)。
    • 取得した画像データを次の場所に保存します変数 (例: $image).
  • バイナリ データのエンコード:

    • base64_encode() 関数を使用してバイナリ イメージを変換しますデータをbase64でエンコードされた文字列に変換します。この手順は、バイナリ データを画像として表示するのに適した形式にエンコードするために必要です。
  • 画像の表示:

    • 適切な HTTP ヘッダーを設定して画像タイプを指定します (例: image/jpeg).
    • base64 でエンコードされた画像データを画像ソースとして出力します。例:
    header("Content-Type: image/jpeg");
    echo '<img src="data:image/jpeg;base64,' . base64_encode($image) . '" />';

注: データベースから取得した画像データが有効であり、または前に末尾の空白文字がないことを確認してください。 の後にタグ。

以上がPHP で MySQL からのイメージ BLOB を正しく表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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