[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 メーリングリストの案内