database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9679 게시물 읽기
No. 9679
postgresql에 byea타입으로 저장된 이미지를 php에서 보여줄려면?
작성자
이기자(k3i2)
작성일
2016-07-25 10:06ⓒ
2016-07-25 10:07ⓜ
조회수
7,236

제가 파워빌더로 프로그램을 하는데,

아래처럼 저장한걸 불러서 이미지 컨트롤에 적용시켜서 화면에 보이게 합니다.

 

Blob Emp_pic

 

SelectBlob image Into :Emp_pic

From t_photo

Where stu_c = :ll_stu_c ;

 

P_1.picturename=""

 

IF IsNull( Emp_pic ) Or Trim( String( Emp_pic ) ) = '' Then

p_1.PictureName = "pic/no_photo.jpg"

Else

p_1.setpicture( Emp_pic )

End If

 

근데, php에서는 어떻게 해야하나요?

지금까지 php는 웹서버에있는 이미지만 보여봐서 방법을 잘 모르겠습니다.

알고계신분 답변좀 부탁 드리겠습니다. ^^

이 글에 대한 댓글이 총 2건 있습니다.

html_inline_image.png

 

이 페이지 소스를 보면, 윗 이미지를 ᅟbase64 문자열로 처리했습니다.

 

select encode(bytea_column, 'base64') as base64str, image_mime

from table_name

where ....

형태로 php 쪽에서 그 이미지에 대한 base64 인코딩 문자열을 받아서 웹블로우져로 보내버리면

제일 간단할터인데,

이 작업에는 디비측, 인코딩 추가 비용과 그에 따른 인코딩 된 자료 크기가 커진것에 따른 네트워크 전송비용이

추가로 발생할 것입니다.

 

또 다른 방법은 ,

http://php.net/manual/kr/function.pg-unescape-bytea.php

php 페이지에서 소개하고 있는 그냥 db의 bytea 자료형을 받아서 php 내부에서 이진자료로 쓰는 방법입니다.

 

통상 크기가 큰 이진 자료와 그에 비해 비교적 작은 문자열 자료가 함께 select 되는 경우, 그 쿼리 전체가 늦어지기 때문에, 응용프로그램 쪽에서는 두 쿼리로 나눠 비동기방식으로 처리하는 것이 예쁩니다.  이렇게 하지 않으면,

큰 이진 자료를 사용자에게 제공하기 위한 준비가 완료되기 전까지 그와 관련된 다른 자료들도 모두 못보게 되기 때문입니다.

김상기(ioseph)님이 2016-07-25 16:14에 작성한 댓글입니다.
이 댓글은 2016-07-25 16:28에 마지막으로 수정되었습니다.

감사합니다.

잘되는군요 ^^

이기자(k3i2)님이 2016-07-26 14:00에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9682libpq 사용시 물리적 네트워크단선에 대한 처리 방법 문의 [3]
질의
2016-07-27
7122
9681psql 한글 깨짐 문의 [4]
하하
2016-07-26
10522
9680c# db저장과 관련하여서 질문이요 [1]
학생
2016-07-25
6839
9679postgresql에 byea타입으로 저장된 이미지를 php에서 보여줄려면? [2]
이기자
2016-07-25
7236
9678DB가 깨진거같습니다... 해결방법 질문드립니다. [1]
김이수
2016-07-21
8467
9677제가 postgresql을 쓰는 초보인데 이런 에러가 발생해서 궁급합니다. [2]
홍민구
2016-07-19
7273
9676query [1]
학생
2016-07-19
6897
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다