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);
?>
                  
                

기타