[PHP-users 32228] Re: PHP+MSSQLでJpegデータの登録・表示の方法
Yoko Morii
y.morii @ gmail.com
2007年 5月 31日 (木) 11:01:19 JST
こんにちは、moricciです。
MSSQLは触っていませんが、MySQL、Postgresで同様のことが可能です。
> 何も表示されません。(イメージが無いときのXマークが表示されます。)
まず、スクリプトのecho $row["IMAGE"]; は
echo pack("H*",$row["IMAGE"]); ではないでしょうか。
バイナリデータを16進変換−>DBに格納−>バイナリに戻して表示
それと、このスクリプトだと、INSERT文実行結果のエラーチェックがありませんよね。
まず、SQLをたたいてちゃんとデータがINSERTされているか確かめては。
ありがちなのは、権限の不足、SQL文の単純ミス
Postgresでは、INSERT文の部分は以下のようになります。
$query="INSERT INTO T_IMAGE VALUES($$".$data['hex']."$$)";
> 画像のようなバイナリデータは、セオリーとしてはDBへの保存はあまり行いません。
SNSをいじっていますが、画像はDB格納です。
ファイルを誤って消す、ファイルの中身が一覧で見えてしまうといった問題を回避するのに、
DBに画像を入れるのは私はいい手だと思っています。
PHP-users メーリングリストの案内