2007年05月17日

MYSQLに画像を入れる

現在画像のデータベースを作ってるのです。
やったことメモります。
ちなみにここら辺参考にしました。
http://q.hatena.ne.jp/1141838059

テーブル作成
画像自体を入れるフィールドはBLOB型にします。
今回はMEDIUMBLOBを使いました。

BLOB型についてはこんな感じ

TINYBLOB:TINYBLOB 255(28−1)
BLOB: 65,535(216−1)
MEDIUMBLOB: 16,777,215(224−1)
LONGBLOB: 4,294,967,295(232−1 )

テーブル挿入
BLOB型にバイナリ形式で画像を入れると出来上がりです。

PHPで作るとこんな感じ。

$query = "INSERT INTO pic (id,pic) values (".
$num.",". //ID
file_get_contents($_POST['pic1']).");";

まあSQL文書いただけですが。
コイツをMYSQLさんにぶち込みます。

file_get_contents($_POST['pic1']))

でPOSTで渡されたURLを読み込んで入れてます。

読み込み
画像読み込み専用スクリプトを作ります。

DB接続など色々やったあと


select * from pic where id=".$_GET['id']


をMYSQLさんにぶち込みます。


$db=DB::connect($dsn,$option);
$rs=$db->query("select * from pic where id=".$_GET['id'].";");
$row=$rs->fetchRow(DB_FETCHMODE_ASSOC);


こんな感じ。
ちなみにDB接続にPEAR関数使ってます。
詳細は書きません。

画像が取れたら。


header("Content-Type: image/jpeg");


でヘッダー出力します。
ヘッダーについては検索してください。
グーグルでの検索

最後に画像を出力します。


echo $row['pic'];


あとは読み込みたいところから


<img src=./pic.php?id=1>


で読みます。

以上です。
【MYSQLの最新記事】
posted by のびた at 01:03| Comment(0) | TrackBack(2) | MYSQL | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/42012161

この記事へのトラックバック

PHPで画像をMySQLに入れたい。
Excerpt: そう思ったのです。ええ。こちらのかたの記事が参考になりますです。MYSQLに画像を入れるアップロードの際には、formタグに「enctype="multipart/form-data"」を書く。fil...
Weblog: 今感じていること
Tracked: 2007-06-06 08:30

どいつもこいつも
Excerpt: MYSQLに画像を入れるのエントリより。 $query = "INSERT IN...
Weblog: Jetspeed Blog
Tracked: 2007-09-01 16:26