(PHP 4 >= 4.2.0, PHP 5, PHP 7)
pg_lo_seek — Перемещает внутренний указатель большого объекта
$large_object
, int $offset
[, int $whence
= PGSQL_SEEK_CUR
] )pg_lo_seek() перемещает внутренний указатель большого объекта.
Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.
large_object
Ресурс большого объекта (LOB) PostgreSQL, возвращаемый функцией pg_lo_open().
offset
Количество байт, на сколько требуется переместить указатель.
whence
Одна из констант: PGSQL_SEEK_SET
(перемещать от начала объекта),
PGSQL_SEEK_CUR
(перемещать с текущей позиции)
или PGSQL_SEEK_END
(отступать от конца объекта).
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Пример #1 Пример использования pg_lo_seek()
<?php
$doc_oid = 189762345;
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $doc_oid, "r");
// Пропустить первые 50000 байт
pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
// Прочитать следующие 10000 байт
$data = pg_lo_read($handle, 10000);
pg_query($database, "commit");
echo $data;
?>
Версия | Описание |
---|---|
5.6.0 | Добавлена поддержка больших 64-битных объектов PostgreSQL 9.3. И клиент и сервер должны поддерживать PostgreSQL 9.3, и PHP должен быть собран 64-битным и использовать 64-битные большие объекты. |