2011-06-29 17 views
0

私はいくつかの画像を含むSQLite3データベースを持っています。私はこれらの画像をブラウザに表示したい(画像はPHP Scriptを介してDBから取得される)。PHPの画像を使ってSQLite3に保存された画像を表示する

header('Content-type: image/jpeg'); 
$img=$this->getImgData($mid); 
//next line is just for testing purposes 
file_put_contents("/tmp/thumb.jpg", $img); 
echo $img; 
exit(); 

問題がある:/tmp/thumb.jpgのようにまったく同じデータを取得している(画像/tmp/thumb.jpgは、任意の画像ビューアで見ることができ が、ブラウザがこのPHPスクリプトを呼び出します)はそれを表示するのを拒否します。 これはどのようにすることができますか?

+2

ここに表示されているコードの前に他のヘッダー/データ/バイトが送信されていませんか?時には、PHPの警告/通知がスリップすることもあります。 – Wiseguy

+0

そのコード行の前に送信される出力はありません。もしそうなら、 "ヘッダはすでに送信されました"というPHPエラーメッセージが表示されます。 "header()"行をコメントアウトすると、ブラウザにバイナリデータしかありません。人間が読めるエラーや警告はありません。 – gorootde

答えて

0

問題が見つかりました: コンテンツタイプをWebページからIDEにコピーしました。

header('Content-type: image/jpeg'); 

それは間の「スペース」のように思える「コンテンツタイプ:」と「画像/ JPEG」スペースではなく、他の不可視のUnicode文字はなかったです。だから私はちょうど手でヘッダーをキー入力した - それは働いた!

+0

ああ、それは吸う。あなたがそれを見つけてうれしい! – Wiseguy

0

ことを確認してください<?phpの前にスペースがある。このセクションの時間のほとんど

前に書かれた文字を持たない、あるいはどこかに上記のファイルが含まれています。

ダブルチェック!

それ以外はすべてうまく見えます。 IMOそれは動作するはずです。

関連する問題