# pg_lo_import

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_import — 将文件导入为大型对象

### 说明

pg_lo_import ([ resource `$connection` ], string `$pathname` [, mixed `$object_id` ] ) : int

pg_lo_import() creates a new large object in the database using a file on the filesystem as its data source.

要使用大型对象（lo）接口，需要将其放置在事务块中。

> Note: 当启用 安全模式时， PHP 会检查被操作的文件或目录是否与被执行的脚本有相同的 UID（所有者）。

> Note:

> 本函数以前的名字为 pg_loimport()。

### 参数

`connection`

  PostgreSQL database connection resource. When `connection` is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

`pathname`

  变量指明了要导入为大型对象的文件名。

`object_id`

  If an `object_id` is given the function will try to create a large object with this id, else a free object id is assigned by the server. The parameter was added in PHP 5.3 and relies on functionality that first appeared in PostgreSQL 8.1.

### 返回值

导入成功则返回新建的大型对象的 OID，如果出错则返回 `FALSE`。

### 更新日志

版本 | 说明
--- | ---
5.3.0 | The optional `object_id` was added.
4.2.0 | 在 PHP 4.2.0 版本之前，本函数语法不一样，见如下定义： pg_lo_import ( string `$pathname` [, resource `$connection` ] ) : int

### 范例

Example #1 pg_lo_import() 例子

    <?php
       $database = pg_connect("dbname=jacarta");
       pg_query($database, "begin");
       $oid = pg_lo_import($database, '/tmp/lob.dat');
       pg_query($database, "commit");
    ?>

### 参见

- pg_lo_export() - 将大型对象导出到文件
- pg_lo_open() - 打开一个大型对象