1

如何通过从 mysql 数据库中检索图像以 html 显示图像。

我有以下代码,但只显示文本代替图像。如何显示图像而不是图像的文本。

代码:

while ($row = mysql_fetch_assoc($result))
{
    //echo "<div>";
    //echo "<div class=\"slide-image\">";
    print $row['Image'];
    //echo "</div>";
    echo "<div class=\"slide-text\">";
    echo $row['Head'];
    echo $row['Description'];
    //echo "</div>";
    //echo "</div>";
}

它将生成的 JPEG 显示为文本,正如您可能想象的那样很难解释。

4

2 回答 2

3

您必须Content-Type使用 PHP 设置标题。如果是 JPEG,它将是image/jpeg. 你可以设置它:

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

请务必在输出任何数据之前设置该标题。

更新

但是在您的文件中,当您从同一文档输出图像数据和文本数据时,您不能将其标题类型设置为多种类型。

一种选择是

while ($row = mysql_fetch_assoc($result))
{
    echo "<div>";
    echo "<div class=\"slide-image\">";
    echo "<img src='image_render.php?id=".$row['some_key_for_record']."'";
    //print $row['Image']; we are moving it to an external page
    echo "</div>";
    echo "<div class=\"slide-text\">";
    echo $row['Head'];
    echo $row['Description'];
    echo "</div>";
    echo "</div>";
}

并在 image_render.php

 //code to pull data from db according to $_GET['id'];
 header('Content-Type: image/jpeg');
 print $row['Image'];
 //no text data to be output from here
 
于 2013-08-25T05:59:16.397 回答
1

如果您正在搜索图像源(完整路径),MYSQL table那么您可以html img像 html 一样在 php 中打印标签div。你可以通过这种方式

 while ($row = mysql_fetch_assoc($result))
    {
        //echo "<div>";
        //echo "<div class=\"slide-image\">";
        echo '<img src='".$row['Image']."' width="100" height="100" />';
        //echo "</div>";
        echo "<div class=\"slide-text\">";
        echo $row['Head'];
        echo $row['Description'];
        //echo "</div>";
        //echo "</div>";
    }

注意: 如果您只想在网页中显示图像,那么您可以使用header('Content-Type: image/jpeg');

于 2013-08-25T06:15:48.553 回答