- 締切済み
[au携帯] DBに格納されたバイナリ形式の画像を表示する方法
[au携帯] DBに格納されたバイナリ形式の画像を表示する方法 データベース(PostgreSQL)に格納されたバイナリデータの画像をPHPを使用して元に戻し表示しようとしています。 携帯用ホームページを作成しているのですが、ドコモだとちゃんと表示されるのにAUでアクセスすると画像がバッテンになってしまって表示できません。 下記のようにPHPを使って画像を表示しているのですが何処が間違っているのでしょうか。 画像の表示用 img.php <?php //DBから必要なデータを取得します。 // $imag_data ------- バイナリ形式の画像データ // $image_file_type - 画像保存時に下のようにして取得した値 // list($width,$height,$image_file_type)=getimagesize($imgurl); // $img_name -------- 画像の名前 $imag_data = pg_unescape_bytea($imag_data); header("Content-type: " .$image_file_type); header('Content-Disposition: inline; filename="' .$img_name.'"'); print($imag_data); exit(); ?> img.phpに直接アクセスするのと、<img src='http://…img.php' />で表示してみたのですが、ドコモだと2通りともできるのに、AUだと「リクエストされたページは表示できません。」と出てしまい、困っています。 どなたか、ご教授くださいますようよろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- moon_night
- ベストアンサー率32% (598/1831)
一番怪しいのは画像サイズ。auは他の機種より表示できるサイズが少ないです。 あとは機種と対応表示形式を確認してください。 どこもで表示できるのならばPHP自体の構文というよりもau側の仕様を疑います。
補足
ドコモ機種で確認した画像は GIF 2KBの240*30 JPEG 97KBの480*854と3KBの95*95 が表示できました。 160KBと258KBのJPEGも確認しましたが、途中でメモリが足りず表示しきれませんでした。 確認できた画像は普通にサーバーにアップロードすればauでも見れるのですが・・・ auはこのやり方だとダメなんでしょうか