array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.pg-lo-tell.php', 1 => 'pg_lo_tell', ), 'up' => array ( 0 => 'ref.pgsql.php', 1 => 'Функции PostgreSQL', ), 'prev' => array ( 0 => 'function.pg-lo-seek.php', 1 => 'pg_lo_seek', ), 'next' => array ( 0 => 'function.pg-lo-truncate.php', 1 => 'pg_lo_truncate', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/pgsql/functions/pg-lo-tell.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_lo_tell — Возвращает текущее положение внутреннего указателя большого объекта
pg_lo_tell() возвращает текущую позицию (отступ от начала) внутреннего указателя большого объекта.
Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.
Текущая позиция внутреннего указателя (количество байт от начала) большого объекта. В случае возникновения ошибки функция вернёт отрицательное значение.
Версия | Описание |
---|---|
8.1.0 |
Параметр lob теперь ожидает экземпляр класса
PgSql\Lob; раньше параметр ждал ресурс (resource).
|
Пример #1 Пример использования pg_lo_tell()
<?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);
// Проверим, на сколько мы отступили
$offset = pg_lo_tell($handle);
echo "Текущее положение внутреннего указателя: $offset";
pg_query($database, "commit");
?>
Результат выполнения приведённого примера:
Текущее положение внутреннего указателя: 50000