pg_lo_seek
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
pg_lo_seek — Перемещает внутренний указатель большого объекта
Описание
$large_object
, int $offset
, int $whence
= PGSQL_SEEK_CUR
) : boolpg_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-битные большие объекты. |