データベースの画像を表示する。

参考:PHPでの画像の表示 - 僕のススメ。

データベースに格納されている画像を表示させるためには、格納されているバイナリデータを画像ファイルにしてやる必要がある。画像データを読込むPHPを画像ファイルとして扱うということ。
画像データを取りに行ってくれるPHPさんが、画像のデータであるバイナリデータを抱えて自分自身のヘッダに「自分は画像である。」という情報を書き込んで、画像ファイルに成りすますというイメージ。

上の参考サイトを見れば全部書いてあるけど、
echo "";
この部分がPHPを画像ファイルとして呼び出している部分。URLで「?」以降はgetで送信される変数だと思えばいいので、実際はmySQLのシーケンシャルな番号とかを送る。

なりすます側のPHPは下の部分がポイント。
$row = mysql_fetch_array($result);

mb_http_output("pass");
header("Content-type: image/jpeg");
header("Content-Disposition: inline; filename=image.jpg");
echo $row[0];
というか、ヘッダーに画像指定をしているだけで、あとはデータをechoしてるだけ。
つまり、画像ファイルというのはヘッダーに「自分を画像として扱ってくれ」と書いてあるバイナリデータというかまあテキストなわけですよ。なるほどですよ。