(PECL CUBRID >= 8.4.1)
cubrid_lob2_seek64 — Desplaza el cursor de un objeto LOB
$lob_identifier, string $offset, int $origin = CUBRID_CURSOR_CURRENT): bool
La función cubrid_lob2_seek64() se utiliza
para desplazar la posición del cursor en un objeto LOB de un valor
proporcionado por el argumento offset, en la dirección
proporcionada por el argumento origin.
Si la posición offset es mayor que la capacidad
de almacenamiento de un entero, puede utilizarse esta función.
Para definir el argumento origin, puede
utilizarse la constante CUBRID_CURSOR_FIRST para definir la posición
del cursor a la que se añaden offset unidades
desde el principio. En este caso, offset debe ser un valor
positivo.
Si se utiliza CUBRID_CURSOR_CURRENT para el argumento origin,
puede desplazarse hacia atrás, así como hacia adelante. Y el argumento
offset podrá ser positivo o negativo.
Si se utiliza la constante CUBRID_CURSOR_LAST para el argumento
origin, puede desplazarse hacia atrás de
offset unidades desde el final del objeto LOB y
el argumento offset solo podrá ser positivo.
Nota: Si se utiliza esta función para desplazar la posición del cursor de un objeto LOB, debe pasarse el argumento
offseten forma de string.
lob_identifieroffsetoriginEjemplo #1 Ejemplo con cubrid_lob2_seek64()
<?php
// test_lob (id INT, contents CLOB)
// La longitud de los datos de doc_1.txt debe ser superior a 20101029056306120215.
$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");
cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");
$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($req, 1, 1);
$lob = cubrid_lob2_new($conn, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($req, 2, $lob, 'CLOB'); // o cubrid_lob2_bind($req, 2, $lob);
cubrid_execute($req);
cubrid_lob2_close($lob);
$req = cubrid_execute($conn, "select * from test_lob");
$row = cubrid_fetch_row($req, CUBRID_LOB);
$lob = $row[1];
cubrid_lob2_seek64($lob, "20101029056306120215", CUBRID_CURSOR_FIRST);
$data = cubrid_lob2_read($lob, 20);
echo $data."\n";
cubrid_disconnect($conn);
?>