[PHP-users 20240]PHP+Mysqlで画像を表示させたい
Maritani Tsuyoshi
maritani @ amatelous.ne.jp
2004年 2月 4日 (水) 13:47:55 JST
まりたに と申します。初心者です。宜しくお願いいたします。
PHP+Mysqlで保存、呼び出ししたいのですが保存は出来ましたが
呼び出すことが出来ません。
環境はwindows2000+Apache1.3.12+php4.1.2+mysql3.23 です。
phpでBase64に変換しmysqlに保存して呼び出し時にデコードして出力しようと考えま
した。
保存時は
$FH = fopen($post_gazou,"rb");
$bin_data = fread($FH,$post_gazou_size);
fclose($FH);
$bin_data = base64_encode($bin_data);
$bin_data = addslashes($bin_data);
$post_gazou_name = stripslashes($post_gazou_name);
$post_gazou_name = addslashes($post_gazou_name);
と変換し、あとでインサートのクエリー文で登録しています。
呼び出し時は
echo "<IMG SRC=\"gazou_disp.php?cd=${jan_cd}\">";
で表示スクリプトを呼び出して、スクリプトでは
以下の処理を行っています
$query = "";
$query = $query . "SELECT ";
$query = $query . "*";
$query = $query . "FROM ";
$query = $query . "syohin ";
$query = $query . "WHERE ";
$query = $query . "jun_cd ='" . $jan_cd . "'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
header("Content-Type: " . $row["pic_type"]);
header("Content-Disposition: filename=\"" . $row["pic_name"] .
"\"");
$bin_data = $row["pic_deta"];
echo base64_decode($bin_data);
exit;
としています。
しかし画像は×マークの表示しか出てこず・・・
mysqlのデータを見ると保存はされているようでした。
質問方法が悪ければ何なりと言ってください。
どうかご教授お願いいたします。
PHP-users メーリングリストの案内