2014-10-10 3 views
0

MYSQL 데이터베이스에서 데이터를 읽는 PHP 스크립트를 개발 중입니다. phpmyadmin을 사용하면 모든 데이터가 데이터베이스에 있고 적절한 형식으로되어 있음을 알 수 있습니다.PHP BLOB 데이터를 배열에 집어 넣는 방법

데이터베이스는 텍스트 열과 blob 열로 구성됩니다.

이제이 데이터를 다시 읽었습니다. 다음 코드를 사용했습니다.

$query = @"SELECT TEXT1, TEXT2, TEXT3, IMAGE FROM EXAMPLETABLE"; 

내가 다음 명령이 다음 이미지/BLOB 비트

while($row = mysql_fetch_array($result)) 
{ 
    $posts[] = array($row['TEXT1'], $row['TEXT2'], $row['TEXT3'], $row['IMAGE']); 
} 

결과를 통해 텍스트 만, null로 배열을 채우는 경우 모든 SQL 지금

를 호출 수행 사파리

[["Gbv","TR","FG",null]] 

내가 다음과 같이하면 이미지 데이터.

while($row = mysql_fetch_array($result)) 
{ 
    ECHO $row['IMAGE']; 
} 

편집 내가 에코로 json_encode ($ 포스트)에 의해 배열을 보낼 것으로 나타났습니다 그래서 코드에서 다른 모습 (지금까지 열심히 오늘 근무) 후 ;

json_encode가 blob 데이터를 엉망으로 만들고 있습니다.

감사

+7

모든 단일 코드 예제에서 질문에 오류가 있습니다. –

답변

1

, 블롭 캡처 출력 버퍼링 컨텐츠의 이미지를 만들기 JPEG로 변환 버퍼로부터 컨텐츠를 잡아 출력 버퍼링을 종료 배열로 이미지를 누른다. 당신을 위해 일한다

foreach($posts as $post): 
    echo '<img src="data:image/jpg;base64,' . base64_encode($post['image']) . '" />'; 
endforeach; 

:

$image = imagecreatefromstring($row['IMAGE']); 
ob_start(); //start capture of the output buffer 
imagejpeg($image, null, 80); 
$data = ob_get_contents(); 
ob_end_clean(); 
$posts[] = array('text'1 => $row['TEXT1'], 'text2' => $row['TEXT2'], 'text3' => $row['TEXT3'], 'image' => $data); 

는 다음과 같은 일을 할.

관련 문제