2016-10-21 22 views
-2

I can't find any syntax or logical error in this code, but i don't why the image is not being displayed on the web page, also it is not showing any error,i'm sharing the code and the output that i'm getting. If you can help me in displaying image, i'll be very thankful to you.表示画像

Output on the Web Page

<html> 
<body> 
<?php 

$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "CSE"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$query = "SELECT * FROM upload WHERE id=1"; 
$result = $conn->query($query); 
while($row = $result->fetch_assoc()) 
{ 

    header("Content-Type: image/png"); 
    echo '<img height="300" width="300" alt="logo" src="data:image;base64,'.$row["name"].'">'; 
} 
$conn->close(); 


?> 

</body> 
</html> 
+2

まず、ヘッダ宣言を削除します。ブラウザに画像を出力せず、HTMLを出力しています。すでにコンテンツをブラウザに送信した後は、ヘッダーを送信できません。 –

+2

あなたが示したのはPHPファイルです。ウェブページの出力ではありません。 – csmckelvey

答えて

1

まず、ヘッダを削除します。あなたは画像だけでなくHTMLを出力しています+あなたはすでにHTMLをブラウザに送信していますので、その後に追加のヘッダを送信することはできません。

は、その後、あなたは、base64にBLOBデータ(バイナリデータ)に変換する必要があります。

同じページ上の画像をインラインで表示するためだ
while($row = $result->fetch_assoc()) 
{ 
    echo '<img height="300" width="300" alt="logo" src="data:' . $row["type"] . ';base64,'.base64_encode($row["name"]).'">'; 
} 

編集:さらに動的にするために、データベースから「タイプ」を追加しました。 (あなたがそれを保存しているので)。

+0

ありがとうございました。 –

+0

データベースから「タイプ」を追加し、より動的にしました。 –

+0

もう一度ありがとう:-) –