无法在我的实时环境中显示PHP中MySQL中的Image blob,适用于dev


Cannot display Image blob from MySQL in PHP on my live environment, works on dev

我无法在我的实时托管环境中显示MySQL中的blob映像,它在dev上工作。我有一个getimage.php文件,我将图像的id传递给它,我不会在页面上写任何文本
这两种方法在我的开发环境中都非常适用
简单代码:

方法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);

我没有得到php错误,我得到以下错误:

图像http://www.mywebsite.com/getimage.php?id=15"无法显示,因为它包含错误`

如果我在我的生活环境中硬编码图像路径,它会很好地工作:

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

如有任何帮助,将不胜感激

将标题行进一步下移,这样php错误就可以以文本形式发送到中

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

这应该让你能够读取错误,你也可以尝试保存图像并在文本编辑器中打开它,或者只使用浏览器view source

我发现这与数据库从Dev上传到Live有关,可能是编码之类的。当我将图像文件重新上传到Live DB时,它们显示正确。