私はいくつかの画像を含む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スクリプトを呼び出します)はそれを表示するのを拒否します。 これはどのようにすることができますか?
ここに表示されているコードの前に他のヘッダー/データ/バイトが送信されていませんか?時には、PHPの警告/通知がスリップすることもあります。 – Wiseguy
そのコード行の前に送信される出力はありません。もしそうなら、 "ヘッダはすでに送信されました"というPHPエラーメッセージが表示されます。 "header()"行をコメントアウトすると、ブラウザにバイナリデータしかありません。人間が読めるエラーや警告はありません。 – gorootde