如何显示存储在mysql数据库中的图像

时间:2014-02-21 08:32:48

标签: php html

以下是我尝试的简单代码。

我无法显示数据库中显示的图像

请帮助我。

我正在使用两个文件

1)db.php
   这是为了连接mysql数据库并获取记录。

图像将以jp2格式保存。

2)test.php

使用php显示记录。

**如果图像以JP2格式保存,那么我该如何转换这些图像并显示到网页中。

如果我使用这段代码,一些垃圾(字节码说)正在显示一个网页**

这是我的db.php

<?php
function getResidentPhoto() {
    $dbcnx = @mysql_connect('127.0.0.1', 'root', 'root@19211');
    if (!$dbcnx) {
        die('<p>Unable to connect to the ' . 'database server at this time.</p>'
            );
    }
    if (!@mysql_select_db('finaldb')) {
        die('<p>Unable to locate the ' . 'database at this time.</p>');
    }

    $selectrc = 'select BPFT_Photo from photo_templates limit 1';
    $result = @mysql_query($selectrc, $dbcnx);
    if (!$result) {
        die('<p>Error performing query: ' . mysql_error() . '</p>');
    } else {

    }
    $n = mysql_num_rows($result);

    $row = mysql_fetch_assoc($result);
    if ($n > 0) {
        $Photo_Details = $row['BPFT_Photo'];
        return $Photo_Details;
    }
}
?>

我的test.php是

<?php
echo' <html>';
echo'<body>';
echo' <table>';
echo' <tr><td>';

$residentPhoto = getResidentPhoto();
$image_type_to_mime_type0 =image_type_to_mime_type($residentPhoto)
header('Content-type:$image_type_to_mime_type0');

echo' '.$residentPhoto;

echo'</td>';
echo'</tr>';
echo'</table>';
echo'</body>';
echo'</html>';
?>

3 个答案:

答案 0 :(得分:0)

根据content-type标题判断,我猜测$residentPhoto是原始图像数据。如果是这种情况,那么除了图像本身之外,绝对没有输出

答案 1 :(得分:0)

在test.php中,您应该包含或要求db.php文件。 确保给出图像的路径,并确保它是正确的。

答案 2 :(得分:0)

您将HTML与实际图片混合在一起。

您只需要在单独的文件中输出图像,您必须在html中包含“img”标记。

例如:

<img src="image.php?imageId=1" alt="Image" />

还有另一种解决方案,但它有一些缺点: 您可以使用数据网址{+ 3}}在HTML中嵌入图片数据,但这会增加您的HTML代码大小,并且(可能)您会遇到旧浏览器的问题(IE <8)。