1

ライブ ホスト環境で MySQL からの BLOB イメージを表示できません。これは開発環境で動作します。画像のIDを渡すgetimage.phpファイルがありますが、ページにテキストを書き込んでいません。
これらの方法は両方とも、私の開発環境で完全に機能します。
簡単なコード:

方法 1:

header("Content-type: image/jpeg");
$data   = mysql_result($result, 0,'documentfile');
echo $data;

方法 2:

header("Content-type: image/jpeg");
$data   = mysql_result($result, 0,'documentfile');
$bImage = imagecreatefromstring($data);
imagejpeg($bImage);
imagedestroy($bImage);

次のエラーが表示されます。

画像http://www.mywebsite.com/getimage.php?id=15 " エラーが含まれているため表示できません`

ライブ環境でイメージパスをハードコーディングすると、正常に動作します。

header("Content-type: image/jpeg");
$data = file_get_contents("../images/sunflowers.jpg");
echo $data;

どんな助けでもいただければ幸いです

4

2 に答える 2

0

ヘッダー行をさらに下に移動して、php エラーをテキストとして送信できるようにします。

$data = mysql_result($result, 0,'documentfile');
header("Content-type: image/jpeg");
echo $data;

エラーを読み取れるようにする必要があります。画像を保存してテキストエディタで開くか、ブラウザを使用することもできますview source

于 2012-07-11T15:54:56.017 に答える
0

これは、Dev から Live へのデータベースのアップロード、おそらくエンコーディングなどに関係していることがわかりました。画像ファイルを Live DB に再アップロードすると、正しく表示されました。

于 2012-07-12T20:50:14.030 に答える