CascadiaPHP 2024

pg_lo_tell

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

pg_lo_tell Retorna a posição de busca atual a de um objeto grande

Descrição

pg_lo_tell(PgSql\Lob $lob): int

pg_lo_tell() retorna a posição atual (deslocamento do início) de um objeto grande.

Para usar a interface de objeto grande, é necessário incluí-la em um bloco de transação.

Parâmetros

lob

Uma instância de PgSql\Lob, retornada por pg_lo_open().

Valor Retornado

O deslocamento de busca atual (em número de bytes) desde o início do objeto grande. Se houver um erro, o valor de retorno será negativo.

Registro de Alterações

Versão Descrição
8.1.0 O parâmetro lob agora espera uma instância de PgSql\Lob; anteriormente, um resource era esperado.

Exemplos

Exemplo #1 Exemplo de pg_lo_tell()

<?php
$doc_oid
= 189762345;
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $doc_oid, "r");
// Ignora os primeiros 50.000 bytes
pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
// Vê o quão longe nós pulamos
$offset = pg_lo_tell($handle);
echo
"A posição de busca é: $offset";
pg_query($database, "commit");
?>

O exemplo acima produzirá:

A posição de busca é: 50000

Veja Também

  • pg_lo_seek() - Procura posição dentro de um objeto grande

add a note

User Contributed Notes 1 note

up
0
Marv-CZ
13 years ago
Function to take a large object size:

<?php
function pg_lo_size ($lo) {
$pos = pg_lo_tell ($lo);
pg_lo_seek ($lo, 0, PGSQL_SEEK_END);
$size = pg_lo_tell ($lo);
pg_lo_seek ($lo, $pos, PGSQL_SEEK_SET);
return
$size;
}
?>
To Top