2012-11-28 4 views
1

i는 데이터베이스PHP에서 데이터베이스의 이미지를 표시하는 방법은 무엇입니까?

<?php 
mysql_connect("localhost","root",""); 
mysql_select_db("test"); 
$qry = "select id from image"; 
$res = mysql_query($qry) or die(mysql_error()); 
while($row = mysql_fetch_array($res)) 
{ 
    echo "<img src=image.php?id='$row[0]'>"; 
} 
?> 

Image.php

<?php 
$query = mysql_query("SELECT img FROM images WHERE id = ".$_GET['id']); 
$row = mysql_fetch_array($query); 
if($type=="pjpeg") 
$type="jpeg"; 
header("Content-type:$type"); 
echo $row['img']; 
?> 

이미지를 표시 할 울부 짖는 코드를 작성하지만이 작동하지 않습니다. 그것은 빈 이미지 아이콘을 표시합니다.

+0

콘텐츠 형식 헤더는 이미지가 말할 무엇을 당신의 HTTP 트래픽을 분석하는 경우 ? – Tobias

+0

나는 그것을 모르는 방법을 알고 있습니까? – Jaydipsinh

+0

firebug 플러그인이있는 Chrome 브라우저 또는 Firefox가 있습니까? 그런 다음 "네트워크"탭에서 쉽게 확인할 수 있습니다. image.php? id =로가는 요청을 살펴보고 서버가 무엇을 반환하는지 확인해야합니다. 또한 .. 당신이 이전 또는 u 말했듯이 내가 확인 – Tobias

답변

7

또한 use base64 encoding 이미지에 구축 할 수 있습니다. 마찬가지로

<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAWgBaAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAAB..." /> 

UPDATE는 base64 인코딩 예는

은 쉽게 그렇게 할 수 있습니다

<?php 
$imageId = intval($_GET["id"]); 

$query = mysql_query("SELECT img FROM images WHERE id = ". $imageId); 
$row = mysql_fetch_array($query); 

$mime = null; 
// place $type init. here 
if ($type=="pjpeg") // <<< where do you get $type btw? 
    $mime = "image/jpeg"; 

$b64Src = "data:".$mime.";base64," . base64_encode($row["img"]); 
echo '<img src="'.$b64Src.'" alt="" />'; 
?> 
+0

내 코딩에서이 base64 인코딩을 사용하는 방법은 무엇입니까? – Jaydipsinh

+0

@jay가 내 대답을 업데이트했습니다. 또한 콘텐츠 유형 – nkamm

+0

에 비어있는 uninitianlized 변수가 있음에주의하십시오.이 코드로 image.php를 변경했는데 여전히 빈 이미지 아이콘을 얻었습니다. ( – Jaydipsinh

1

jpeg가 유효한 Content-Type을하지 않습니다, 그것은해야 image/jpeg

+0

데르 가지고 있지만 이미지는 빈 .. 표시되지 않습니다 이미지 아이콘이 있어요. – Jaydipsinh

0

+ 이상으로하는 헤더 함수에 replace = true 매개 변수를 전달해야합니다.

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

+0

헤더 기능 내부에 true 매개 변수를 넣었지만 이미지가 없습니다. 빈 아이콘 만 나타납니다. – Jaydipsinh

+0

브라우저에서 실제 이미지 URL을 직접 열 때 무엇을 볼 수 있습니까? – Tim

+0

이것은 이미지 요소입니다. – Jaydipsinh

관련 문제