PDO::pgsqlLOBOpen
(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL pdo_pgsql >= 1.0.2)
PDO::pgsqlLOBOpen — 기존의 대형 개체 스트림을 엽니다.
설명
public PDO::pgsqlLOBOpen(string $oid
, string $mode
= "rb"): resource|false
PDO::pgsqlLOBOpen()은 oid
가 참조하는 데이터에 액세스하기 위해 스트림을 엽니다. mode
가 r이면 스트림이 읽기 위해 열리고 mode
가 w이면 쓰기 위해 스트림이 열립니다. fread(), fwrite() 및 fgets()와 같은 모든 일반적인 파일 시스템 기능을 사용하여 스트림의 내용을 조작할 수 있습니다.
참고: 이 함수와 큰 개체의 모든 조작은 트랜잭션 내에서 호출되고 수행되어야 합니다.
매개변수
oid
- 대형 개체 식별자입니다.
mode
- 모드가 r이면 읽을 스트림을 엽니다. 모드가 w이면 쓰기 위해 스트림을 엽니다.
반환 값
성공하면 스트림 리소스를 반환하고 실패하면 false
를 반환합니다.
Examples
예제 #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', $oid, PDO::PARAM_STR);
$stmt->fetch(PDO::FETCH_BOUND);
$stream = $db->pgsqlLOBOpen($oid, 'r');
header("Content-type: application/octet-stream");
fpassthru($stream);
?>
기타
- pg_lo_create() - 대형 객체 생성
- PDO::pgsqlLOBUnlink() - 큰 개체를 삭제합니다.
- pg_lo_open() - 큰 개체 열기