PDO::pgsqlLOBCreate
PDO::pgsqlLOBUnlink
PostgreSQL (PDO)
PHP Manual

# PDO::pgsqlLOBOpen

(PHP 5 >= 5.1.2, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBOpen — 존재하는 라지 오브젝트 스트림을 엽니다

### 설명

resource PDO::pgsqlLOBOpen ( string `$oid` [, string `$mode` ] )

PDO::pgsqlLOBOpen()는 `oid` 로 참조되는 데이터에 접근하는 스트림을 엽니다. `mode` 가 r이면, 스트림은 읽기로 열리고, `mode` 가 w이면, 스트림은 쓰기로 열립니다. 스트림 내용을 조작하기 위해서 fread(), fwrite(), fgets() 등의 파일시스템 함수를 사용할 수 있습니다.

> Note: 이 함수와 라지 오브젝트의 모든 조작은 트랜젝션 안에서 이루어져야 합니다.

### 인수

`oid`

  라지 오브젝트 식별자.

`mode`

  모드가 r이면, 스트림을 읽기로 엽니다. 모드가 w이면, 스트림을 쓰기로 엽니다.

### 반환값

성공시엔 스트림 리소스, 실패시엔 `FALSE`를 반환합니다.

### 예제

Example #1 PDO::pgsqlLOBOpen() 예제

다음 예제는 PDO::pgsqlLOBCreate() 예제에서 이어집니다. 이 코드 조각은 데이터베이스에서 라지 오브젝트를 가져와서 브라우저로 출력합니다.

`<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$stmt = $db->prepare("select oid from BLOBS where ident = ?");
$stmt->execute(array($some_id));
$stmt->bindColumn('oid', $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);
fpassthru($lob);
?>`

### 참고

- PDO::pgsqlLOBCreate() - 새 라지 오브젝트를 생성합니다
- PDO::pgsqlLOBUnlink() - 라지 오브젝트를 제거합니다
- pg_lo_open() - Open a large object

PDO::pgsqlLOBCreate
PDO::pgsqlLOBUnlink
PostgreSQL (PDO)
PHP Manual