Pdo\Pgsql::lobOpen
(PHP 8 >= 8.4.0)
Pdo\Pgsql::lobOpen — Opens an existing large object stream
说明
   Pdo\Pgsql::lobOpen() opens a stream to access
   the data referenced by oid.
   All usual filesystem functions, such as fread(),
   fwrite() or fgets() can be used
   to manipulate the contents of the stream.
  
注意: This function, and all manipulations of the large object, must be called and carried out within a transaction.
参数
oid- A large object identifier.
 mode- 
     
      If mode is 
r, open the stream for reading. If mode isw, open the stream for writing. 
返回值
   Returns a stream resource on success, 或者在失败时返回 false.
  
示例
示例 #1 Pdo\Pgsql::lobOpen() example
Following on from the Pdo\Pgsql::lobCreate() example, this code snippet retrieves the large object from the database and outputs it to the browser.
<?php
$db = new Pdo\Pgsql('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);
?>参见
- Pdo\Pgsql::lobCreate() - Creates a new large object
 - Pdo\Pgsql::lobUnlink() - Deletes the large object
 - pg_lo_create() - 新建大对象
 - pg_lo_open() - 打开大对象
 
  +添加备注
  
 用户贡献的备注
此页面尚无用户贡献的备注。