# pg_lo_write

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

pg_lo_write — 向大对象写入数据

### 说明

pg_lo_write(PgSql\Lob `$lob`, string `$data`, ?int `$length` = `null`): int|false

pg_lo_write() 在大对象的当前位置写入数据。

要使用大对象接口，必须将其封装在一个事务块中。

> 注意:

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

### 参数

`lob`

  通过 pg_lo_open() 返回的 PgSql\Lob 实例。

`data`

  写入到大对象中的数据。如果 `length` 是 int 并且少于 `data` 的长度，仅会写入 `length` 个字节。

`length`

  可选的最大写入字节数。必须大于零且不大于 `data` 的长度。默认为 `data` 的长度。

### 返回值

写入到大对象的字节数，或出错时为 `false`。

### 更新日志

版本 | 说明
--- | ---
8.1.0 | 现在 `lob` 接受 PgSql\Lob 实例，之前接受 resource。
8.0.0 | `length` 现在可为 null。

### 示例

示例 #1 pg_lo_write() 示例

`<?php
$doc_oid = 189762345;
$data = "This will overwrite the start of the large object.";
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $doc_oid, "w");
$data = pg_lo_write($handle, $data);
pg_query($database, "commit");
?>`

### 参见

- pg_lo_create() - 新建大对象
- pg_lo_open() - 打开大对象

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open