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-TypePHPでヘッダーを設定する必要があります。JPEGなら になりますimage/jpeg。次の方法で設定できます。

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

データを出力する前に、必ずそのヘッダーを設定してください。

アップデート

ただし、同じドキュメントから画像データとテキスト データを出力しているため、ファイルでは、そのヘッダー タイプを複数のタイプとして設定することはできません。

1つのオプションは

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 に答える