0

これは画像を保存して表示するための最良の方法ではないことをすでにアドバイスされていることを最初に宣言するだけですが、私はこの方法でそれを行うように任命されているので、助けていただければ幸いです(ファイルパスをデータベースなど)。

Webの検索にかなりの時間を費やした後、私の特定の問題を解決する最善の方法は、別のファイルを使用してBLOBをデコードし、画像を表示するファイルにリンクすることであることがわかったと思います。 。ページごとに複数の異なるタイプのヘッダーを持つことができないことと関係があります。

私はPHPがまったく得意ではないと言うことができるので、どんな助けでも素晴らしいでしょう。

これが私のコードです:

<?php
$con = mysql_connect("***","***","*****");
if (!$con)
{
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("learning_game", $con);
$result = mysql_query("SELECT * FROM data");
?>
<head>
<title>Game Data</title>
</head>
<body>
<h1>Game Data Input</h1>
</body>
</html>

'data'というテーブルがあり、blobファイルは'image'という列の下にあります

理想的には、データベース内のすべてのBLOBをループして、ブラウザーで印刷したいと思います。

どんな助けでも大歓迎です、そして、私は前もってどんな返事にも感謝します。

4

1 に答える 1

2

次を使用できるはずです。

printf('<img src="data:image/jpeg;base64,%s">', base64_encode($myblobdata));

これはあなたに次のようなものを与えるでしょう:

<img src='data:image/jpeg;base64,Cldhcm5...pbmUgNQo='>

はるかに長いことを除いて。

みんながコメントを言っているように、これはあなたのページを「重く」します。これらが単純なアイコンよりも数ピクセル大きい場合は、別のスクリプトを使用して画像として提供することを真剣に検討する必要があります。すなわち:

<?php
$myblob = your_code_here();
header('Content-Type: image/jpeg');
echo $myblob;
exit;
于 2013-02-07T20:46:30.793 に答える