ホームページ > データベース > mysql チュートリアル > MySQL からの BLOB イメージを PHP で表示する方法: Base64 エンコーディングと個別のイメージ ファイル?

MySQL からの BLOB イメージを PHP で表示する方法: Base64 エンコーディングと個別のイメージ ファイル?

DDD
リリース: 2024-12-10 17:21:10
オリジナル
374 人が閲覧しました

How to Display BLOB Images from MySQL in PHP: Base64 Encoding vs. Separate Image File?

PHP で MySQL データベースの BLOB イメージを表示する方法

PHP で MySQL データベースの BLOB イメージを表示しようとしていますが、エラーが発生しました。この問題を解決するための 2 つのオプションを検討してみましょう。

オプション 1: インライン Base64 エンコーディング

echo '<dt><strong>Technician Image:</strong></dt><dd>';
echo '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">';
echo '</dd>';
ログイン後にコピー

このメソッドは、BLOB イメージを Base64 文字列にエンコードし、直接埋め込みます。 HTMLに埋め込みます。ただし、この方法は大量の画像には推奨されません。

オプション 2: 画像出力 PHP ファイル

次のコードを使用して image.php ファイルを作成します。

<?php
$id = (isset($_GET['id']) &amp;&amp; is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;
$image = getImageFromDatabase($id); // Your function to fetch the image from the database

header('Content-Type: image/jpeg');
echo $image;
?>
ログイン後にコピー

HTML 内:

<img src="image.php?id=<?php echo $image_id; ?>" />
ログイン後にコピー

このメソッドは次の内容を取得しますデータベースから画像を取得してブラウザに直接送信し、正しい MIME タイプ (image/jpeg) が設定されていることを確認します。ヘッダー行:

header('Content-Type: image/jpeg');
ログイン後にコピー

は、出力を画像として解釈し、それに応じて表示するようにブラウザーに指示します。これにより、発生していたバイナリ JPEG データの問題が解消されます。

以上がMySQL からの BLOB イメージを PHP で表示する方法: Base64 エンコーディングと個別のイメージ ファイル?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート