pg_lo_seek

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

pg_lo_seek Перемещает внутренний указатель большого объекта

Описание

pg_lo_seek ( resource $large_object , int $offset , int $whence = PGSQL_SEEK_CUR ) : bool

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($handle50000PGSQL_SEEK_SET);
   
// Прочитать следующие 10000 байт
   
$data pg_lo_read($handle10000);
   
pg_query($database"commit");
   echo 
$data;
?>

Список изменений

Версия Описание
5.6.0 Добавлена поддержка больших 64-битных объектов PostgreSQL 9.3. И клиент, и сервер должны поддерживать PostgreSQL 9.3, а PHP должен быть собран 64-битным и использовать 64-битные большие объекты.

Смотрите также

  • pg_lo_tell() - Возвращает текущее положение внутреннего указателя большого объекта