2016-09-01 4 views
0

안녕하세요. php와 mysql을 사용하여 이미지를 표시하려고 할 때 기본 이미지가 없기 때문에 이미지가 보이지 않습니다. 나는 다른 자습서의 몇 가지를 읽을 수 있지만 그들은 모두 내 방식이php echo image from mysql이 보이지 않습니다.

function DisplayImages($link){ 
    $qry = mysqli_query($link,"select * from images"); 
    while($row= mysqli_fetch_array($qry)){ 
    echo $row["name"]; 
    echo '<img src="<?php echo $row["image"]"/>'; 
    } 
} 

을하지 않는

+0

감사합니다 지금 작동 3 자습서 것을 이상한. – PeeHaa

+0

Base64 이미지 일 수 있습니다. –

+0

다음과 같이 시도하십시오 : '\t $ image_resource = imagecreatefromstring ($ row [ "name"]); \t header ("Content-type : image/jpeg"); \t imagejpeg ($ image_resource); ' – Peacefull

답변

1

PHP는 재귀 적으로 임베드하지 longblobs로 이미지가 업로드되는 경우 제대로 작동 :

echo '<img src="<?php echo $row["image"]"/>'; 
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

당신에게 "PHP 모드"에서 이미 존재하므로, <?php은 새로운 PHP 코드 태그의 시작이 아닙니다. 그것은 단지 문자 <, ?, 등등 ... 당신이 울리고있는 문자열에 박제되고.

이 작업을 수행하더라도 ?>이 없으므로 어쨌든 구문 오류가 발생합니다.

시도 :

echo '<img src="' . $row['image'] . '">'; 
or 
echo "<img src=\"{$row['image']}\">"; 

당신이 구축하고있는 HTML을 확인하는 브라우저에서 "소스보기"를하고있는 것처럼, 당신은 "PHP 코드 것을 알 텐데, 심지어 기본적인 디버깅을 수행하려는 경우 "브라우저에서 실행되지 않습니다. 도움을

+0

흠 그냥 표시하기 전에 그것을 변환하는 것에 대해 읽고 있던 무작위 기호로 나타납니다? – GregHBushnell

+0

'src '는 URL을 나타냅니다. 이미지의 원시 바이너리 바이트를이 이미지 바이트에 채울 수는 없습니다. DB 데이터가 이미지의 얼룩이라면 그렇게 표시 할 수 없습니다. 데이터 URL로 변환하거나 ''의 두 단계로이 작업을 수행 한 다음 해당 스크립트를 말 그대로'echo $ row ['image ']'하십시오. –

0
echo '<img src="data:image/jpeg;base64,' . base64_encode($row['image']) . '" /height="50" width="50">'; 

thansk은 내가 모두 사용되는있는 Base54 일의 언급 결코 발견하지만, 그것은 확실히 당신이 적어도 데이터 URL로 변환 할 필요가