
Linux、PHP4.3.11、MySQLの環境でPHPスクリプトの作成を試行しています。
MySQLの BLOB型 に格納された画像バイナリを呼び出してそのまま出力するスクリプトを作成し、同スクリプトから出力された画像ファイルのサイズや種別情報を「getimagesize()」で取得しようとしているのですがうまく行きません。
画像出力の処理は、MySQLからバイナリのデータを読み出して HTTP HEADER をつけてそのまま出力する処理を行っています。
// 画像出力処理
<?php
$image = /* DBからバイナリを取得する処理 */
header("Content-type: image/jpeg\n\n");
echo $image;
exit();
?>
上のスクリプトをWEBブラウザで呼び出すと画像を表示する事ができます。
また、<img src="画像出力スクリプトのURL">としてHTML中に記述しても画像を表示できます。
しかし、getimagesize() で画像情報を取得しようとしても False となり、画像の構成情報を取得できません。
// 画像情報取得処理
<?php
$src = "http://画像出力スクリプトのURL";
var_dump(getimagesize($src));
exit();
?>
$src にローカルにある実ファイル画像を指定した場合( "./hoge.jpeg" )や
他のWEBサーバ上にある画像ファイルを指定した場合( "http://よそのサーバURL/hoge.jpeg" )等は画像情報をちゃんと取得できます。
画像出力用のスクリプトで行わなければならない処理が何か不足しているのでしょうか。
原因となりそうな物が分かる方がいらっしゃいましたらご教示お願いいたします。
No.3ベストアンサー
- 回答日時:
#1 の方が仰る様に getimagesize は、ファイルを読み込んで情報を出力する関数ですから、バイナリのデータでは無理なのではないかと。
私が前にやった方法だと、ファイルをDBにBLOBに入れる際に、その画像ファイルの属性を別テーブルに入れていました。
そんなときファイルをDBに入れる際に、getimagesize を使うと便利だろうなと言う感じはします。
こっちの方が明瞭ですし、扱いやすかったです。
No.2
- 回答日時:
データベースの代わりに以下でやってみましたがちゃんと取得できるようです。
image.php
<?php
$image = file_get_contents("test.jpg");
header("Content-Type: image/jpeg");
echo $image;
?>
<?php
$src = "http://localhost/php/image.php";
var_dump(getimagesize($src));
exit();
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLiteに画像を格納したい
-
ビットマップ画像を読み込むプ...
-
php,mysqlにて画像パス保存/表...
-
透過PNGが透過されない!!
-
pictureboxに表示した画像のフ...
-
VBSの「MsgBox」について
-
再投稿です。初MacでPythonの勉...
-
PHPでPDFを画像で表示したい
-
「imagejpeg」(GD)で作成した...
-
PHPによる画像の生成による色の...
-
<ASP.NET+C#+MSDE> JPEG画像の...
-
Illustratorで文字と画像を流し...
-
BLOBデーターの画像の表示方法...
-
C#とJavaで、MP3タグの画像を表...
-
GDI+を使ったビット数とDPIの扱い
-
画像の張りかたについて
-
ListViewコントロールでサムネ...
-
ファイルアップロードのダイア...
-
JSPにてMySQLのBLOB型の画像の...
-
拡張子php画像をjpg画像等に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの「MsgBox」について
-
拡張子php画像をjpg画像等に変...
-
PHPで吐き出した画像にリンクを...
-
Illustratorで文字と画像を流し...
-
SQLiteに画像を格納したい
-
iphoneで虫眼鏡の作り方
-
Borland C++ Builder
-
<ASP.NET+C#+MSDE> JPEG画像の...
-
PHPでPDFを画像で表示したい
-
フォルダの属性について
-
PythonのTkinter詳しい方へ。画...
-
PHPで画像アップロード時にサイ...
-
透過PNGが透過されない!!
-
libpng 24bpp rawをPNGに変換す...
-
VBAでJPGサイズ変更
-
PHPでGmail署名ジェネレータ
-
PHPで画像サイズの変更
-
画像のアップロードができない
-
画像の張りかたについて
-
C# Excelファイルへの画像挿入。
おすすめ情報