ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して MySQL データベースにイメージを保存および取得する方法

PHP を使用して MySQL データベースにイメージを保存および取得する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-24 07:04:17977ブラウズ

How to Store and Retrieve Images from a MySQL Database Using PHP?

PHP を使用した MySQL データベースへのイメージの保存と取得

MySQL データベースにイメージを保存し、PHP を使用してイメージを取得するには、いくつかの手順を実行する必要があります。

MySQL の作成テーブル:
まず、画像データを保存するテーブルを MySQL に作成します。 「testblob」というタイトルの適切なテーブル構造の例を以下に示します。

create table testblob (
    image_id        tinyint(3)  not null default '0',
    image_type      varchar(25) not null default '',
    image           blob        not null,
    image_size      varchar(25) not null default '',
    image_ctgy      varchar(25) not null default '',
    image_name      varchar(50) not null default ''
);

画像の挿入:
データベースに画像を挿入するには、画像データを取得し、 PHP のファイル ユーティリティを使用してそのサイズを調整します。 MySQL データベースに接続し、次のような SQL クエリを実行します。SQL インジェクションを防ぐために画像データがエスケープされていることを確認します。

$imgData = file_get_contents($filename);
$size = getimagesize($filename);
$sql = sprintf("INSERT INTO testblob
    (image_type, image, image_size, image_name)
    VALUES
    ('%s', '%s', '%d', '%s')",
    mysql_real_escape_string($size['mime']),
    mysql_real_escape_string($imgData),
    $size[3],
    mysql_real_escape_string($_FILES['userfile']['name'])
    );
mysql_query($sql);

画像の取得:
Toデータベースからの画像を Web ページに表示し、データベースに接続してクエリを実行して画像データを取得します。適切なコンテンツ タイプ ヘッダーを設定し、PHP の echo コマンドを使用して画像を表示します:

$sql = "SELECT image FROM testblob WHERE image_id=0";
$result = mysql_query("$sql");
header("Content-type: image/jpeg");
echo mysql_result($result, 0);

以上がPHP を使用して MySQL データベースにイメージを保存および取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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