0

MySQL データベースから画像を表示しようとしていますが、画像が JPG の場合はコードが正常に動作しますが、コンテンツ タイプを変更して PNG を表示すると動作しません... どうすればそれを作成できますか? PNGで動作しますか??

<?php

    // configuration
    require("../includes/config.php"); 

    header('Content-type: image/JPG');
    $username = "xxxxx";
    $password = "*****";
    $host = "localhost";
    $database = "database";
    @mysql_connect($host, $username, $password) or die("Can not connect to database: ".mysql_error());
    @mysql_select_db($database) or die("Can not select the database: ".mysql_error());
    $query = mysql_query("SELECT * FROM images");

    while($row = mysql_fetch_array($query))
    {
        echo $row['image'];
    }
?>

また、その名前と説明とともに画像を表示することは可能ですか? ありがとう!

4

1 に答える 1

1

古いブラウザをサポートしなくてもかまわない場合は、データURLを使用して画像と説明を表示できますhttp://en.wikipedia.org/wiki/Data_URI_scheme

<figure>
  <img src="data:image/png;base64,<?php echo base64_encode($row['image']); ?>" alt="Your alternative text" />
  <figcaption>Some more description</figcaption>
</figure>

ほとんどの場合、画像をデータベースに保存することはあまり役に立ちません。mimetypeの大文字と小文字に注意する必要があります。http://de.selfhtml.org/diverses/mimetypen.htmを参照してくださいドイツ語ですが、リストを読むことができます)。そして最後のアドバイスとして、mysqli_*関数http://www.php.net/manual/en/book.mysqli.phpを見てください。

//編集:単なるアイデアですが、データベースに複数の画像がある場合、それらすべてを1つの画像にまとめただけなので、画像が壊れている可能性があります。これは機能しません!コードを使用すると、一度に表示できる画像は1つだけです。

于 2013-02-21T02:37:11.700 に答える