MySQL BLOB フィールドから画像を取得して表示する
MySQL に BLOB フィールドとして保存されている画像を表示するという課題に直面しています。データベース。発生したエラーは、画像の MIME タイプが正しく指定されていないことを示しています。
この問題を解決するには、次の 2 つの方法のいずれかを使用できます:
オプション1: インライン Base64 エンコーディング
画像を Base64 文字列としてエンコードし、HTML に直接埋め込みます。これは、多数の画像の場合には推奨されません。
echo '<dt><strong>Technician Image:</strong></dt><dd>' . '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">' . '</dd>';
オプション 2: 画像 PHP ファイルを生成
画像 ID を取得する別の PHP ファイルを作成します。クエリ文字列パラメータを指定し、画像を出力します。
<img src="image.php?id=<?php echo $image_id; ?>" />
$id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0; $image = getImageFromDatabase($id); // your code to fetch the image header('Content-Type: image/jpeg'); echo $image;
必ず指定してください。画像をエコーする前に、ヘッダー ('Content-Type: image/jpeg') を含む MIME タイプを修正してください。これにより、データを画像として解釈するようにブラウザに指示されます。
以上がMySQL に BLOB として保存された画像を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。