2010-02-08 11 views
0

PHP에서 Postgresql을 백엔드로 사용하고 있습니다. 데이터베이스는 이미 다른 사람들이 디자인 한 것입니다. 이제 PHP를 사용하여 데이터베이스에서 이미지를 검색하고 싶습니다. 하지만 데이터베이스에서 이미지를 검색 할 수 없습니다. 이 코드를 사용하여 이미지를 검색하지만 웹 페이지에는 읽을 수없는 문자 만 표시됩니다. 때로는 작은 아이콘을 보여 주지만 (웹 페이지에 이미지가 없을 때처럼) 대부분 빈 페이지를 보여줍니다. 이미지를 저장하는 데이터 유형은 "bytea"입니다. 이미지를 표시하는 데 사용하는 코드는 다음과 같습니다.PHP를 사용하여 postgres 데이터베이스에서 이미지 가져 오기

$conn = pg_connect("user=xxxx password=xxxx dbname=xxxx host=xxxx"); 
$res = pg_query($conn, "SELECT scan_image FROM t1scandoc where image_srno='1'"); 
while(pg_fetch_array($res)) 
{ 
    if (pg_result($res,2)) 
    { 
    WriteImageToFile(pg_result($res,0),$dir.pg_result($res,1),pg_result($res,2)); 
    } 
} 
+0

답변을 이메일로 보내지 않습니다. 귀하의 질문에 따라 다른 사람들이 볼 수있게 게시합니다. –

답변

1

결과 속성을 읽지 않습니다.

  1. pg_result()은 PostgreSQL Extension에서 정의한 기능이 아닙니다.
  2. 변수에 pg_fetch_array()의 반환 값을 저장하지 않습니다.

다음 코드는 scan_image 값을 브라우저에 출력해야합니다.

$conn = pg_connect("user=xxxx password=xxxx dbname=xxxx host=xxxx"); 
$res = pg_query($conn, "SELECT scan_image FROM t1scandoc where image_srno='1'"); 
if($row = pg_fetch_array($res)) // Output only one row, we can't output multiple 
{ 
    echo $row['scan_image']; 
} 

불행히도 scan_image의 파일 형식을 알 수 없습니다. 적절한 헤더를 보내는 것을 잊지 마십시오.

관련 문제